Yoshiyuki Asaba
y-asa****@sraos*****
2006年 7月 3日 (月) 17:16:28 JST
浅羽です。 From: ENDO Yasuyuki <yasuy****@javao*****> Subject: [Gauche-devel-jp] RedHat Enterprise 4でのGauche CVS HEADビルド Date: Mon, 3 Jul 2006 16:18:26 +0900 > えんどうです。 > > $ uname -mrs > Linux 2.6.9-34.0.1.ELsmp i686 > > 標題の環境でGauche CVS HEADをmakeしてみました。 > > $ ./configure --enable-threads=pthreads --enable-multibyte=euc-jp > > > $ make > (sinp) > > gcc -DHAVE_CONFIG_H -I. -I./../gc/include -g -O2 -fPIC -fomit-frame- > pointer -m > arch=i686 -DUSE_I686_PREFETCH -c core.c > In file included from gauche.h:113, > from core.c:39: > ./gauche/pthread.h:43: error: syntax error before "ScmInternalSpinlock" > ./gauche/pthread.h:43: warning: data definition has no type or > storage class > make[1]: *** [core.o] Error 1 手元の Gentoo Linux でも同じようになりました。どうやら % uname -mrs Linux 2.6.16-gentoo-r9 i686 % nm /usr/lib/libpthread.a 2>/dev/null | grep pthread_spin_init 00000050 T __pthread_spin_init 00000050 W pthread_spin_init によると pthread_spin_init() 自体はあるのですが、ヘッダファイルに pthread_spin_init() や pthread_spinlock_t 型は定義されていないようです。 つまり、 extern char pthread_spin_init(); int main(void) { char (*f)() = pthread_spin_init; return 0; } は通りますが、 #include <pthread.h> int main(void) { char (*f)() = pthread_spin_init; return 0; } は通りません(手元の環境の場合)。 -- Yoshiyuki Asaba y-asa****@sraos*****