For some reason, samba-2.2.7a wouldn't emerge for me. I would get the following error: Linking bin/smbd smbd/server.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/files.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/chgpasswd.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' Linking bin/smbd smbd/server.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/files.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/chgpasswd.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/connection.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/utmp.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/session.o(.text+0x25): more undefined references to `pthread_create' follow collect2: ld returned 1 exit status make: *** [bin/smbd] Error 1 smbd/connection.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/utmp.o(.text+0x25): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/session.o(.text+0x25): more undefined references to `pthread_create' follow collect2: ld returned 1 exit status make: *** [bin/smbd] Error 1 If I edit the make file, and add -lpthread to the LIBS= line, and then make, it'll link fine.. If I grep in the config* files, there's only references to pthread.h, not a -lpthread anywhere. Strange.
please post #emerge info
Portage 2.0.46-r4 (, gcc-3.2.1, glibc-2.3.1-r2,2.2.5-r4) ================================================================= System uname: 2.4.19-gentoo-r10 i686 AMD Athlon(tm) Processor USE="x86 oss apm avi crypt encode gif jpeg libg++ mikmod mpeg ncurses nls pdflib png qtmt spell truetype xml2 xmms xv zlib gdbm berkdb slang readline arts tetex aalib bonobo svga java guile X sdl gpm tcpd pam libwww perl python esd imlib oggvorbis gtk qt motif opengl mozilla cdr scanner cups tcltk pda ssl kde mysql mmx 3dnow xml -gnome -quicktime" ARCH="x86" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -Os -pipe -mmmx -m3dnow -fomit-frame-pointer" CXXFLAGS="-march=athlon-tbird -Os -pipe -mmmx -m3dnow -fomit-frame-pointer" ACCEPT_KEYWORDS="x86 ~x86" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" MAKEOPTS="-j2" JDK_HOME="" JAVA_HOME="" AUTOCLEAN="no" SYNC="rsync://garion.tzo.com/gentoo-portage" GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"
could be the -Os compiler flag please change it to -O2 and try again
mholzer; thanks for getting involved and helping. im sorry but im terribly busy over these holidays and havent been able to work a heck of a lot on Gentoo Linux.
doesn't matter of time, just good work :) i know there are some problems with -Os compiler flags. so john could try this.
Same problem. root@cherek qt # emerge info Portage 2.0.46-r4 (, gcc-3.2.1, glibc-2.3.1-r2,2.2.5-r4) ================================================================= System uname: 2.4.19-gentoo-r10 i686 AMD Athlon(tm) Processor USE="x86 oss apm avi crypt encode gif jpeg libg++ mikmod mpeg ncurses nls pdflib png qtmt spell truetype xml2 xmms xv zlib gdbm berkdb slang readline arts tetex aalib bonobo svga java guile X sdl gpm tcpd pam libwww perl python esd imlib oggvorbis gtk qt motif opengl mozilla cdr scanner cups tcltk pda ssl kde mysql mmx 3dnow xml -gnome -quicktime" ARCH="x86" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -O2 -pipe -mmmx -m3dnow -fomit-frame-pointer" CXXFLAGS="-march=athlon-tbird -O2 -pipe -mmmx -m3dnow -fomit-frame-pointer" ACCEPT_KEYWORDS="x86 ~x86" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" MAKEOPTS="-j2" JDK_HOME="" JAVA_HOME="" AUTOCLEAN="no" SYNC="rsync://garion.tzo.com/gentoo-portage" GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" root@cherek qt # emerge -u samba ...... Compiling smbd/notify_hash.c Compiling smbd/notify_kernel.c Linking bin/smbd smbd/server.o(.text+0x3f): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/files.o(.text+0x3f): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/chgpasswd.o(.text+0x3f): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/connection.o(.text+0x3f): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/utmp.o(.text+0x3f): In function `crLaunchThread': : undefined reference to `pthread_create' smbd/session.o(.text+0x3f): more undefined references to `pthread_create' follow collect2: ld returned 1 exit status make: *** [bin/smbd] Error 1 !!! ERROR: net-fs/samba-2.2.7a failed. !!! Function src_compile, Line 113, Exitcode 2 !!! samba compile problem
Well, I did some research into this.. It seems that function, crLaunchThread, lives in /usr/include/compat.h... Figuring that I would just re-emerge the package that owns that file, maybe i would get further, come to find out that compat.h is not owned by any package... I believe this is a bug, the file should be owned by somebody (glibc?).. I still have no idea why this is coming up on my system.. Samba is the only one so far that seems to have this problem... As I said before, if I add -lpthread to the Makefile.in, it works.. But I wouldn't think I would have to do that with an emerge.. --John
Doah... After thinking about my previous comment, I decided to move compat.h to compat.old... Sure emough, samba emerges fine now.. Where did compat.h come from? I have no idea.. The date of Oct17 doesn't help me either.. Anyways.. I'll set this to invalid..... Thanks guys.
sorry, i didn't find this file wheather on my first, nor on my secound box