第81日目:【A-Tiger】FreeBSD 7.1R入ったけど・・・いいのかな?
|
どうも、('A`)です。
今日の日記はちょっと短めの日記になりました。
前回の日記で追記にも書いたのですが、/etc/make.confでCPUTYPEを指定しなかったら、
カーネル再構築とWORLDの再構築ができました。
で、もしかすると、と思って今朝からパッケージをインストールしてみましたら、前回出た
エラーも発生せずに無事PHPとかSpeedyCGIとか入っちゃいました。
(・∀・)( `э´)( ,_ノ` )y━・~~~「えええええっっっっっ!何でだよっ?!」
('A`)「いやあ、、、何でかエラー起きずに入っちゃったんだよ。見た感じプロセスも
動いているし、Apacheとか動いてページも見れているし、・・・・・」
( ,_ノ` )y━・~~~「まあ、これはこれで動作テストしましょう。」
( `э´)「もう1台A-Tigerあるから、そっちでCPUTYPEを指定して、GCCを4.3にして動くか
挑戦してみて!」
('A`)「うん。。。。」
なんか、結果オーライの感じがしないでもないのですが、、、、正直('A`)の体調もちょっと
良くなくって(左胸がちょっと痛いです。心臓の鼓動を薬で抑えているのですが、サーバを
作ろうとして脳みそをブンブンうごかしているので、血を送ろうと無理やり心臓が動いて
体の中で抑える力と動こうとする力がせめぎ合っているみたいです。)
とりあえず、何か動くものができただけでも、気持ち的にホッとします。
/etc/make.confに書かれたCPUTYPEが実際にコンパイル時にどう読み替えられるのか
社内で色々調べてみたら、エース( ,_ノ` )y━・~~~ がこのサイトを見つけてくれました。
(サイトの人に感謝です。あ、勝手にリンク貼っちゃってすみませんね。。。。)
どうも、make.confで書かれたCPUTYPEは/usr/share/mk/bsd.cpu.mkで読み替えられて
GCCにその情報が引き継がれる、と・・・・
じゃあ、7.1R amd64の/usr/share/mk/bsd.cpu.mkではどうなっているのか試しに
見てみました。
(以下に抜粋版を載せます。)
.if !defined(CPUTYPE) || empty(CPUTYPE)
_CPUCFLAGS =
. if ${MACHINE_ARCH} == "i386"
MACHINE_CPU = i486
. elif ${MACHINE_ARCH} == "amd64"
MACHINE_CPU = amd64 sse2 sse
. elif ${MACHINE_ARCH} == "ia64"
MACHINE_CPU = itanium
. elif ${MACHINE_ARCH} == "sparc64"
. elif ${MACHINE_ARCH} == "arm"
MACHINE_CPU = arm
. endif
. elif ${MACHINE_ARCH} == "amd64"
. if ${CPUTYPE} == "prescott" || ${CPUTYPE} == "core2"
CPUTYPE = nocona
. endif
. endif
. elif ${MACHINE_ARCH} == "amd64"
. if ${CPUTYPE} == "opteron" || ${CPUTYPE} == "athlon64" || ${CPUTYPE} == "k8"
MACHINE_CPU = k8 3dnow
. elif ${CPUTYPE} == "nocona"
MACHINE_CPU = sse3
. endif
|
('A`)うーん・・・・ちんぷんかんぷん。
ただ、この中でGCCでコンパイル時のオプションが色々変わってくるので、コンパイルの
オプションがうまくなかった?、のではないかなあ、と思います。
という事なら、最新のGCCだったらCPUTYPE=core2の時のコンパイルオプションが
対応されている、のかもしれない・・・
(ちょっと自信無いです。)
まずは、ちょっと休憩してから、GCCを4.3系に入れ替えて試してみます。
では、また。
[追記 16:25]
えーと、、、、GCCを以下の方法で力技で4.3.3に入れ替えました。
pkg_add -r gcc43
rehash
cp /usr/bin/gcc /usr/bin/gcc_org
rm /usr/bin/gcc
ln -s /usr/local/bin/gcc43 /usr/bin/gcc
試しにコマンドを打つと・・・
tiger3528# gcc -v
Using built-in specs.
Target: x86_64-portbld-freebsd7.1
Configured with: ./..//gcc-4.3-20080904/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local --program-suffix=43 --libdir=/usr/local/lib/gcc-4.3.3 --with-gxx-include-dir=/usr/local/lib/gcc-4.3.3/include/c++/ --disable-libgcj --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc43 --build=x86_64-portbld-freebsd7.1
Thread model: posix
gcc version 4.3.3 20080904 (prerelease) (GCC)
tiger3528#
で、/etc/make.confを設置して、CPUTYPE=core2と指定してから
buildworldを実行してみたら、途中でエラーになり止まってしまいました。
(その時のエラーです。)
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 libkrb5.a
/usr/obj/usr/src/lib32/usr/lib32
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 heim_err.h
k524_err.h
/usr/src/kerberos5/lib/libkrb5/../../../crypto/heimdal/lib/krb5/krb5-protos.h
/usr/src/kerberos5/lib/libkrb5/../../include/krb5-types.h
/usr/src/kerberos5/lib/libkrb5/../../../crypto/heimdal/lib/krb5/krb5.h
krb5_err.h /usr/obj/usr/src/lib32/usr/include
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 libkrb5_p.a
/usr/obj/usr/src/lib32/usr/lib32
sh /usr/src/tools/install.sh -s -o root -g wheel -m 444 libkrb5.so.9
/usr/obj/usr/src/lib32/usr/lib32
ln -fs libkrb5.so.9 /usr/obj/usr/src/lib32/usr/lib32/libkrb5.so
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
tiger3528#
|
うーん、どうするかなぁ、、、、ちょっと社内のみんなと意見交換して対応策を
考えます・・・
|
|
|