net-misc/shout-0.8.0-r1 fails to compile with this error: gcc -march=pentium4 -mmmx -msse -msse2 -mfpmath=sse,387 -Os -pipe -fomit-frame-pointer -Wall -ansi -I. -DHAVE_CONFIG_H -c -o util.o util.c util.c: In function `my_sleep': util.c:84: warning: implicit declaration of function `nanosleep' gcc -march=pentium4 -mmmx -msse -msse2 -mfpmath=sse,387 -Os -pipe -fomit-frame-pointer -Wall -ansi -I. -DHAVE_CONFIG_H -o shout shout.c rand.o mpeg.o configfile.o sock.o util.o /var/tmp/portage/shout-0.8.0-r1/temp/cciO9tz3.o(.text+0xa11): In function `shuffle': : warning: the use of `tempnam' is dangerous, better use `mkstemp' sock.o(.text+0x7a): In function `sock_connect': /home/jack/src/shout/sock.c:77: undefined reference to `__ctype_b' collect2: ld returned 1 exit status make: *** [shout] Error 1 The error might be related to bug http://bugs.gentoo.org/show_bug.cgi?id=58204 , since it also complains about __ctype_b . I did a google search for "__ctype_b undefined" , and got this from redhat bugzilla, don't know if it will be at any help: http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=86465 . Reproducible: Always Steps to Reproduce: 1. emerge shout Actual Results: It fails with the error mentioned above. Portage 2.0.50-r9 (default-x86-2004.0, gcc-3.4.1, glibc-2.3.4.20040619-r0, 2.6.8-rc2-love3) ================================================================= System uname: 2.6.8-rc2-love3 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz Gentoo Base System version 1.5.2 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -mmmx -msse -msse2 -mfpmath=sse,387 -Os -pipe -fomit- frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share /config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://192.168.3.3/gentoo-portage" USE="acpi apache2 apm berkdb crypt foomaticdb innodb ipv6 ldap libwww mad mailwrapper mmx mysql ncurses nls nptl pam perl python samba sasl session slang snmp sse ssl tcpd x86 xml xml2 zlib"
Using: glibc-2.3.4.20040619 gcc-3.4.1-r1 If that might be at any help.
fails at the same point for me, too (no matter if I use gcc 3.4.1 or 3.4.4)
from a quick googling I'd say it's a glibc issue
<quote> > > /usr/lib/libdb-4.0.a(env_open.o): In function `__db_parse': > > env_open.o(.text+0x13cb): undefined reference to `__ctype_b' > > env_open.o(.text+0x1413): undefined reference to `__ctype_b' > > /usr/lib/libdb-4.0.a(env_open.o): In function `__db_tmp_open': > > env_open.o(.text+0x1f58): undefined reference to `__ctype_b' > > /usr/lib/libdb-4.0.a(env_region.o): In function `__db_e_remfile': > > env_region.o(.text+0xe17): undefined reference to `__ctype_b' > > /usr/lib/libdb-4.0.a(hash_auto.o)(.text+0x468): more undefined references > > to `__ctype_b' follow OK, I've now verified that the problem was caused by RedHat's upgrade of glibc last week from 2.2.x to 2.3.x where they lost some backwards compatability for the older versions of te glibc package. They have a BETA version of the fixed glibc 2.3.x available on their bugzilla.redhat.com site. I suspect that very soon they will release these changes as new glibc errata. </quote> this all is about another package, but show's the same behaviour, all other things found while googeling lead into this direction, too
ok, one last post from me about this issue for tonite... I have a quick fix that at least solved the problem for me... I modified shout-0-8-0/sock.c and have taken out the #include <ctype.h> in line 22. I have two remaining questions: a) does this fix the issue also for other ppl using glibc-2.3.4.20040619 ? b) does this break compilation for ppl using an older, stable glibc?
Created attachment 37024 [details, diff] shout-0.8.0-r1_ebuild-patch´
Created attachment 37024 [details, diff] shout-0.8.0-r1_ebuild-patch´ all suspisions were totally wrong. the whole issue was caused by a sock.o left in the source release (that was build against an older glibc version) attached you find a patch for the ebuild that simply removes this file
Created attachment 37025 [details] shout-0.8.0-r1_ebuild-patch all suspisions were totally wrong. the whole issue was caused by a sock.o left in the source release (that was build against an older glibc version) attached you find a patch for the ebuild that simply removes this file
Created attachment 37026 [details, diff] shout-0.8.0-r1_ebuild-patch all suspisions were totally wrong. the whole issue was caused by a sock.o left in the source release (that was build against an older glibc version) attached you find a patch for the ebuild that simply removes this file
Fixed in portage - thanks.