[Gauche-devel-jp] Re: RedHat Enterprise 4でのGauche CVS HEADビルド

Back to archive index

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*****



Gauche-devel-jp メーリングリストの案内
Back to archive index