09/03/18 21:11:47
あれから色々試していているので一応報告…
>>691で書いたchroot環境でi386のportsをビルドする方法では不十分で、makeのパラメータ
かmake.confに"ARCH=i386"を指定しないとダメなケースがあった。
>>713,714
i386のportsはchroot環境でビルドできるので、それをホスト環境(amd64)で実行できるように
ldconfigを設定してみるが、どうも64ビットの共有ライブラリを見に行ってしまう。
やったこと↓
i386のlibのパスを追加
# ln -s /compat/freebsd32/usr/local/lib /usr/local/lib32
# ldconfig -32 -m /usr/local/lib32
or
# echo '/usr/local/lib32' > /usr/local/libdata/ldconfig32/lib
# etc/rc.d/ldconfig restart
→NG
unionfsでマージしてみる
# mount_unionfs /compat/freebsd32/usr/local/lib /usr/lib32
# ldconfig -32 -m/usr/lib32
→NG
$ /compat/freebsd32/usr/local/bin/zsh
/libexec/ld-elf.so.1: /usr/local/lib/libgdbm.so.3: unsupported file layout
→64ビット?lib32ではないの?
lddした結果もおかしい(ldconfig -32 -rではsoのパスは合っていることを確認)