トップ  検索

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

Copyright (c) 2001-2008 Takefumi MIYOSHI, All rights reserved