The Duke3D ebuild fails for reasons I don't understand. Apparently the current Perl does not have a symbol called "My_perl" I sync and update my machine daily. Reproducible: Always Steps to Reproduce: Just attempt to build the program. Actual Results: gcc -c -o buildperl.o buildperl.c -O2 -march=athlon-mp -pipe -fomit-frame-pointer -DUSE_OPENGL -I/usr/X11R6/include -DUSE_PERL -DUDP_NETWORKING=1 -DUSE_I386_ASM -funsigned-char -DPLATFORM_UNIX -Wall -I/usr/include/SDL -D_REENTRANT -fno-omit-frame-pointer -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl5/5.8.5/i686-linux-thread-multi/CORE buildperl.c: In function `buildperl_init': buildperl.c:52: error: `my_perl' undeclared (first use in this function) buildperl.c:52: error: (Each undeclared identifier is reported only once buildperl.c:52: error: for each function it appears in.) buildperl.c: In function `buildperl_frame': buildperl.c:77: error: `my_perl' undeclared (first use in this function) make: *** [buildperl.o] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: games-fps/duke3d-20040817 failed. !!! Function src_compile, Line 87, Exitcode 2 !!! buildengine failed Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10 i686) ================================================================= System uname: 2.6.10 i686 AMD Athlon(tm) Processor Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 11 2005, 15:43:42)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r1, 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-mp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozil la/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/c onfig/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-mp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X aalib acl acpi alsa apm arts avi berkdb bitmap-fonts crypt cups dga directfb doc dvd encode erandom esd f77 fam fbcon flac font-server foomaticdb fortran ftp gcj gd gdbm ggi gif gpm gtk gtk2 imlib ipv6 ithreads java jpeg kde libg++ libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls nowin nptl oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell sse ssl stencil-buffer svga tcltk tcpd tetex threads tiff truetype truetype-fonts type1-fonts userlocales xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
I've found this, myself using perl 5.8.5 and also a friend using 5.8.6. As a workaround disabling the perl USE flag allows the game to compile correctly
builds fine for me with USE=perl. here's what I'm using: [ebuild R ] dev-lang/perl-5.8.5-r5 +berkdb -debug -doc +gdbm -ithreads -perlsuid
Does not work here with [ebuild R ] dev-lang/perl-5.8.7-r3 +berkdb -build -debug +doc +gdbm +ithreads -minimal -perlsuid
donsn't compile with dev-lang/perl-5.8.6-r8 +berkdb -build -debug -doc +gdbm +ithreads -minimal -perlsuid
Uhm, as I can see, all 3 people that encountered this bug have USE=ithreads set for perl... Add a check for that use flag and be done with it? :)
A check for perl build with ithreads use flag disabled is in portage. Thanks for report