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だった)
再コンパイル。とりあえず、できあがったようだ。