トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2006-3-28

 FreeBSDでObjective-C

新しくインストールしたマシンで、とあるObjective-Cなプログラムを
コンパイルしてみたところ

/usr/lib/libobjc.so: undefined reference to `pthread_attr_destroy'
/usr/lib/libobjc.so: undefined reference to `pthread_create'
/usr/lib/libobjc.so: undefined reference to `pthread_attr_init'
/usr/lib/libobjc.so: undefined reference to `pthread_exit'
/usr/lib/libobjc.so: undefined reference to `pthread_getschedparam'
/usr/lib/libobjc.so: undefined reference to `pthread_setschedparam'
/usr/lib/libobjc.so: undefined reference to `pthread_attr_setdetachstate'

とかいって怒られた。

% gcc hoge.m -lobjc -lc_r

とかしないといけない。
あ、

% gcc hoge.m -lobjc -pthread

でもいい。-pthreadの方がいいかな。

 libexpat

portsのdevel/gnustepをインストールしようとしたら、
x11-toolkits/gnustep-backのコンパイルに、

/usr/bin/ld: warning: libexpat.so.5, needed by \
/usr/X11R6/lib/libfontconfig.so.1, not found (try using -rpath or -rpath-link)

といって失敗していた。
とりあえず、/usr/local/libexpat.so.5を/usr/local/libexpat.soにリンクして、
(実体は、/usr/local/libexpat.so.6だった)
再コンパイル。とりあえず、できあがったようだ。