ひとりごと

新しい記事:[2048]  古い記事:[2046] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2007/10/24 (水)

・ FreeBSD覚え書き

最近いろいろ遊んでて気づいたこと。

CPUの指定
make.confに 'CPUTYPE=pentium4'などを追加。portsのFFMPEGで所在不明の変数を使っていて、どこで設定するのかわかんないから手作業で make の時に値を指定していたのですが、これって make.conf でやるものなのですな。これを設定すると、portsでのコンパイルとかで -march=pentium4 とか最適化オプション '-O2 -fno-strict-aliasing -pipe' とかが設定されるようです。gccのマニュアルによると
-march=cpu type オプションを指定しない限り、コンパイラは i386 で実行できないようなコードは生成しません。
とあるのですが、今さら386はともかく Pentium!!! とかで実行出来ないコードとか吐いたりするのかな? 機器故障時とかに一時的にマシンを入れ替える可能性もあるので、一応覚えておかなければ。
KERNCONFの指定
同じく make.conf の中で 'KERNCONF=SMP' 等と書けばOK。いくつものFreeBSDを管理していると'make kernel KERNCONF=hoge' の KERNCONF=hoge をつい忘れてしまいそうで心配なのですが、始めから設定しておけるのなら忘れる事がなくて安心です。

ちなみに6.2ではSMP用のカーネルは SMP というカーネルコンフィギュレーションファイルになっていますが、この内容はコメントを除けばたったこれだけ。

include GENERIC
ident SMP-GENERIC
options SMP
1行目でGENERICを読み込み、続く行で追加または変更したい項目を並べるだけのようで。こうしておけばアップグレード時に変わっている項目をにらめっこして探さなくてもよいのですね。ぜんぜん知りませんでしたがこれは便利です。
portsを戻す
何気なくportsツリーを更新してffmpegを再コンパイルしたのですが、なんと再生不可能なファイルを出力するようになっちゃいました(笑)。原因はよくわかりませんが、audio/faac 1.25 を 1.24 に戻せば動くようになりました。てことで、『昨日までちゃんと動いてたのにぃ~』ということがはっきりしている場合は 、ports-supfile に
*default date=2007.10.23.00.00.00
等と追加して cvsup すると良いみたいです。上記のように問題のある箇所がはっきりしている場合は 'ports-all' を削って 'ports-audio' だけ入れるのも可かな。その後 portsnap を使う場合は extract じゃないといけないかもしれません。
[つっこみ]

新しい記事:[2048]  古い記事:[2046] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)