i386 から amd64 への上書き移行時の注意点 ― 2008年09月20日 03時06分14秒
もしかしたら、ports はそのまま使えるかも知れない。ただし、この時の ports は 32-bit で動く事になる。もし 64-bit で動かしたいのなら、newfs
なり、rm -rf /usr/local
をして、全てを消してから入れ直す。静的ライブラリを使ったプログラム、またシステム以下のライブラリのみを使うプログラムには 32-bit ライブラリが用意されるので、そのまま amd64 でも動く。しかし、ports の提供するライブラリには 32-bit/64-bit の区別が無いので、全てが 32-bit か 64-bit で無いと色々と問題が出てくる。
さらに、幾つかのリリースをまたいで、i386 を運用してきた場合には、
$ cd /usr/src
$ yes | make delete-old
$ yes | make delete-old-libs
が必要かも知れない。実際に、手元で試したときは、古いバージョンのライブラリが異常な動作を引き起こした。FreeBSD のシステム以下で提供されるファイルには問題ないとは思う。しかし、ports を再構築していたら、変なライブラリがリンクされて、正常な動作をしなかった。一度、古いリリースから引き継がれてきたファイルを削除したら、ports のビルドが正しく進むようになった。
最近のコメント