TECH日記

技術の薀蓄

compile libxml2 on redhat as3

2005-07-14 16:34:26 | Weblog
libxml2-2.6.20-1.i386.rpm あるが、rmp -U してもインストールしてくれないから、ソースからコンパイルことにした。

大量にこのようなエラーがある、
./.libs/libxml2.so: undefined reference to `pthread_getspecific'
./.libs/libxml2.so: undefined reference to `pthread_once'
./.libs/libxml2.so: undefined reference to `pthread_key_create'
./.libs/libxml2.so: undefined reference to `pthread_setspecific'


真の原因不明だが、直接の原因は ./libs/libxml2.so.2.6.20.so を作る際に -lpthread の欠落。

対策:
make >make.log 2>&1 でmakeの出力を保存し、
grep libxml2.so.2.6.20 make.log で作るコマンドを探し、
gcc -shared ...... -ldl -lz -lm ...... -o ./libs/libxml2.so.2.6.20.so のような長いコマンドがある、それをコピーして、コンソールに貼り付け、...... -lz -lm -lpthread ...... のように編集して発行
make が無事できる。
make install も問題なくできる


一応メモ
本家
入手