大石@徳島大学です. 稲川様,詳細に回答いただきありがとうございます.
>> 簡単なプログラムをコンパイルしてみると, > >もしや、FreeBSD の cc でコンパイルしていませんか? おっしゃるとおり,FreeBSDのg++を使ってコンパイルしようとしていました. orz >FreeBSD の Linux emulation は Linux のシステムコールをエミュレートする >ものであって、Linux の library を FreeBSD のバイナリから使えるようにする >ものでは無い >>という点について誤解があるように思われますが、いかがですか? おっしゃるとおりです. orz >linux_base には、ちゃんと libc(glibc)が含まれているので、 >Linux の gcc(というか ld)でコンパイル・リンクしてやれば、 >Linux emulation 環境で動かす事が出来る筈です。 > ># もしかしたら -L フラグを適切に設定する必要があるかも? ># Linux の ldconfig も必要だったかな? >注意点としては、 >1) 必ず Linux の ld でリンクする事 > FreeBSD と Linux では、同じELFでも違うバイナリであるという > 印が付けられているので、FreeBSD でリンクしてしまうとFreeBSDの > システムコールとして処理されてしまう。 >2) linux.ko が load されている事 > /etc/rc.conf に linux_enable="YES" と書いてリブートするか、 > kldload で linux.ko を load するか、linux コマンドを実行するか > linux のバイナリが実行できる様にする。 > 今回のlibCg.soやlibCgGL.soのようなLinux用のライブラリを用いた アプリケーションを開発するには,Linux用の開発環境(コンパイラ・リンカ)を 使う必要があるということですね. つまり,Linux用開発環境自体をFreeBSDにインストールしてLinuxエミュレーションで動作させないと 上手くいかないわけですね. #Linuxでコンパイルしたものを持ってきた方が楽かな・・・ (^^; ご指摘ありがとうございました. --------------------------------------- 大石篤哉 @ 徳島大学 工学部 機械工学科 [EMAIL PROTECTED] ---------------------------------------