2013年11月7日木曜日

(pkgsrc) net/libsoup24で、undefined reference to `WIFEXITED'

自分用メモ



pkgsrcのnet/libsoup24で、いつもでる(?)エラー



make[3]: Entering directory `/var/tmp/pkgsrc/net/libsoup24/work/libsoup-2.42.2/tests'
  CCLD     xmlrpc-server-test
xmlrpc-server-test.o: In function `xmlrpc_test_exited':
xmlrpc-server-test.c:(.text+0x288): undefined reference to `WIFEXITED'
xmlrpc-server-test.c:(.text+0x29a): undefined reference to `WEXITSTATUS'
collect2: ld returned 1 exit status
make[3]: *** [xmlrpc-server-test] Error 1
make[3]: Leaving directory `/var/tmp/pkgsrc/net/libsoup24/work/libsoup-2.42.2/tests'



よく使われるマクロだと思うけど。
ソースコードはここ。



static void
xmlrpc_test_exited (GPid pid, int status, gpointer data)
{
        errors = WIFEXITED (status) ? WEXITSTATUS (status) : 1;
        g_main_loop_quit (loop);
}



ざっくりgrepで探すと、WIFEXITEDは、stdlib.hとsys/wait.hで定義されているっぽかった。



そこで
#include <stdlib.h>
を追加してみたら、だめだった。



#include <sys/wait.h>
を追加してみたら、うまくいった。



よくわからないけど結果オーライ。



20131106



0 件のコメント:

コメントを投稿