portsの databases/sqlite3 なんですが、オプションで THREADS をon にしてインストールしたあと
databases/pecl-PDO_SQLITE をインストールしようとすると、 make configure の段階で失敗するのですが
自分だけでしょうか?
config.log にはこんなことが書いてありました。
configure:3393: checking for sqlite3_open in -lsqlite3
configure:3423: gcc40 -o conftest -O2 -fno-strict-aliasing -pipe -fomit-frame-pointer -march=athlon -R/usr/local/lib -L/usr/local/lib -lm conftest.c -lsqlite3 >&5
/usr/local/lib/libsqlite3.so: undefined reference to `pthread_create'
/usr/local/lib/libsqlite3.so: undefined reference to `pthread_equal'
/usr/local/lib/libsqlite3.so: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
おかしいなと思って ldd してみたら
$ ldd /usr/local/lib/libsqlite3.so
/usr/local/lib/libsqlite3.so:
libc.so.6 => /lib/libc.so.6 (0x28079000)
って感じで libpthread にリンクしてない?
ちなみに自前ビルドしてみたら
$ ldd .libs/libsqlite3.so
.libs/libsqlite3.so:
libpthread.so.2 => /usr/lib/libpthread.so.2 (0x281b0000)
と無事 libpthread にリンクされています。onfigure の段階で失敗する。
ports の sqlite3 のmake画面を見てると、最後のリンクのときに -pthread ってオプションが渡ってて -lpthread がありません。
自前ビルドではきちんと -lpthread オプションが渡っています。
これはバグでしょうか? FreeBSD 6.1-RELEASE-p7 を使用しています。