gcc -O2 -pipe -mcpu=7400 -maltivec -mabi=altivec -DHAVE_CONFIG_H -I. -I./../gc/include -fPIC -fomit-frame-pointer -rdynamic -o gosh main.o libgauche.a -ldl -lcrypt -lm libgauche.a(linux_threads.o)(.text+0x58): In function `GC_suspend_handler': : undefined reference to `sem_post' libgauche.a(linux_threads.o)(.text+0x4b8): In function `GC_stop_world': : undefined reference to `sem_wait' libgauche.a(linux_threads.o)(.text+0x510): In function `GC_stop_world': : undefined reference to `pthread_kill' libgauche.a(linux_threads.o)(.text+0x5e8): In function `GC_start_world': : undefined reference to `pthread_kill' libgauche.a(linux_threads.o)(.text+0x9d4): In function `GC_thr_init': : undefined reference to `sem_init' libgauche.a(linux_threads.o)(.text+0xc2c): In function `GC_pthread_sigmask': : undefined reference to `pthread_sigmask' libgauche.a(linux_threads.o)(.text+0xea8): In function `GC_pthread_join': : undefined reference to `pthread_join' libgauche.a(linux_threads.o)(.text+0xf94): In function `GC_pthread_detach': : undefined reference to `pthread_detach' libgauche.a(linux_threads.o)(.text+0x10cc): In function `GC_start_routine': : undefined reference to `sem_post' libgauche.a(linux_threads.o)(.text+0x10e0): In function `GC_start_routine': : undefined reference to `_pthread_cleanup_push' libgauche.a(linux_threads.o)(.text+0x110c): In function `GC_start_routine': : undefined reference to `_pthread_cleanup_pop' libgauche.a(linux_threads.o)(.text+0x11f0): In function `GC_pthread_create': : undefined reference to `sem_init' libgauche.a(linux_threads.o)(.text+0x1270): In function `GC_pthread_create': : undefined reference to `pthread_create' libgauche.a(linux_threads.o)(.text+0x1280): In function `GC_pthread_create': : undefined reference to `sem_wait' libgauche.a(linux_threads.o)(.text+0x12b8): In function `GC_pthread_create': : undefined reference to `sem_destroy' collect2: ld returned 1 exit status make[1]: *** [gosh] Error 1 make[1]: Leaving directory `/var/tmp/portage/gauche-0.6/work/Gauche-0.6/src' make: *** [src/gosh] Error 2 !!! ERROR: dev-lisp/gauche-0.6 failed. !!! Function src_compile, Line 21, Exitcode 2 !!! (no error message)
# emerge info Portage 2.0.48-r5 (default-x86-1.4, gcc-3.2.3, glibc-2.3.1-r4,2.3.2-r1) ================================================================= System uname: 2.4.19-gentoo-r10 i686 Pentium II (Klamath) GENTOO_MIRRORS=" http://www.ibiblio.org/pub/Linux/distributions/gentoo ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ ftp://gentoo.mirrors.pair.com/ http://gentoo.oregonstate.edu " CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb /opt/jakarta/tomcat/conf" CONFIG_PROTECT_MASK="/etc/gconf /etc/afs/C /etc/afs/afsws /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/opt/portage/distfiles" PKGDIR="/opt/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="foomaticdb mad gtkhtml bonobo mysql esd snmp cdr x86 oss apm avi berkdb crypt cups encode gdbm gif gpm gtk imlib gtk2 -alsa gd gphoto2 libgda -qt -qtmt -arts -kde -mmx -3dnow -3dfx tcltk perl postgres evo gb guile afs odbc maildir imap ldap mozilla tetex zeo apache2 java jpeg gnome libg++ libwww mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python quicktime readline sdl slang spell ssl svga tcpd truetype X xml2 xmms xv zlib" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=pentium2 -O3 -pipe" CXXFLAGS="-mcpu=pentium2 -O3 -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j5" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="ccache sandbox distcc buildpkg"
# emerge info Portage 2.0.48-r5 (default-ppc-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.19-r6 ppc GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /opt/jakarta/tomcat/conf /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/afs/C /etc/afs/afsws /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="foomaticdb gnome-libs oss -alsa dvd esd sdl oggvorbis xmms -arts xv slang readline gpm berkdb gdbm postgres pgsql postgresql libg++ libgda -odbc innodb mysql tcpd pam libwww ssl nls mitshm zlib snmp ldap imap maildir slp cups pdflib scanner gphoto2 pda cdr perl python tcltk ruby java guile gb X gnome gtk gtk2 gtkhtml -qt -kde truetype imlib xml xml2 bonobo doc motif opengl jpeg png gif tiff gd mozilla mozsvg mozcalendar mozaccess mozinterfaceinfo mozp3p mozxmlterm zeo tetex spell crypt encode evo xemacs xemacs-packages-sumo xface mule leim ppc" COMPILER="gcc3" CHOST="powerpc-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=7400 -maltivec -mabi=altivec" CXXFLAGS="-O2 -pipe -mcpu=7400 -maltivec -mabi=altivec" ACCEPT_KEYWORDS="ppc" MAKEOPTS="-j3" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="ccache sandbox buildpkg"
...and the current version is 0.7.1 so it's overdue for a version bump.
It looks like the linker isn't being told where the libpthread.so library is. Using the --enable-threads=pthreads configure option fixes things nicely: src_compile() { ./configure \ --host=${CHOST} \ --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ --enable-threads=pthreads || die "./configure failed" emake || die #make || die }
I think 0.7.1 fixes that, and it's recently committed. Please test it. If you still experience problems, make out a new bug for 0.7.1 instead.