Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 33317 - libperl-5.8.2 fails to compile
Summary: libperl-5.8.2 fails to compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High blocker
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-12 11:33 UTC by A. Permyakov
Modified: 2004-09-21 13:16 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description A. Permyakov 2003-11-12 11:33:28 UTC
Building libperl-5.8.2 (gcc version 3.3.2 20031022 (3.3.2-r2)) fails:

...
          CCCMD =  gcc -DPERL_CORE -c -D_REENTRANT -D_GNU_SOURCE
-DTHREADS_HAVE_PIDS -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O3 -pipe -march=pentium4 -fforce-addr
-fomit-frame-pointer -ffast-math -fprefetch-loop-arrays -falign-functions=4  -Wall
pp_sys.c: In function `Perl_pp_shostent':
pp_sys.c:5050: warning: implicit declaration of function `sethostent_r'
pp_sys.c:5050: error: structure has no member named `_hostent_data'
pp_sys.c: In function `Perl_pp_sprotoent':
pp_sys.c:5072: warning: implicit declaration of function `setprotoent_r'
pp_sys.c:5072: error: structure has no member named `_protoent_data'
pp_sys.c: In function `Perl_pp_sservent':
pp_sys.c:5083: warning: implicit declaration of function `setservent_r'
pp_sys.c:5083: error: structure has no member named `_servent_data'
pp_sys.c: In function `Perl_pp_ehostent':
pp_sys.c:5094: warning: implicit declaration of function `endhostent_r'
pp_sys.c:5094: error: structure has no member named `_hostent_data'
pp_sys.c: In function `Perl_pp_eprotoent':
pp_sys.c:5118: warning: implicit declaration of function `endprotoent_r'
pp_sys.c:5118: error: structure has no member named `_protoent_data'
pp_sys.c: In function `Perl_pp_eservent':
pp_sys.c:5130: warning: implicit declaration of function `endservent_r'
pp_sys.c:5130: error: structure has no member named `_servent_data'
make: *** [pp_sys.o] Error 1
make: *** Waiting for unfinished jobs....

!!! ERROR: sys-devel/libperl-5.8.2 failed.
!!! Function src_compile, Line 206, Exitcode 2
!!! Unable to make libperl.so


Reproducible: Always
Steps to Reproduce:
1.emerge sys-devel/libperl
2.
3.

Actual Results:  
!!! ERROR: sys-devel/libperl-5.8.2 failed.
!!! Function src_compile, Line 206, Exitcode 2
!!! Unable to make libperl.so


Expected Results:  
Take a guess...

Portage 2.0.49-r15 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r8, 2.4.22-xfs)
=================================================================
System uname: 2.4.22-xfs i686 Intel(R) Pentium(R) 4 CPU 2.60GHz
Gentoo Base System version 1.4.3.11
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -pipe -march=pentium4 -fforce-addr -fomit-frame-pointer -ffast-math
-fprefetch-loop-arrays -falign-functions=4"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
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
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -pipe -march=pentium4 -fforce-addr -fomit-frame-pointer
-ffast-math -fprefetch-loop-arrays -falign-functions=4"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="ftp://ftp.uninett.no/pub/linux/Gentoo http://gentoo.linux.no/
ftp://gentoo.linux.no/pub/gentoo/ http://mirror.pudas.net/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 oss apm avi crypt foomaticdb gif jpeg libg++ mad mikmod mpeg ncurses
png truetype xml2 xmms xv zlib gtkhtml gdbm berkdb slang readline tetex bonobo
svga guile sdl tcpd pam libwww ssl perl python esd imlib motif snmp cdr X gtk
gtk2 opengl threads qt xml acl md5sum alsa cups mozilla wmf mmx sse encode
oggvorbis quicktime usb spell java pdflib acpi xfs -arts -gpm -gnome -kde -3dnow
-nls"
Comment 1 Robert Coie (RETIRED) gentoo-dev 2003-11-13 10:24:31 UTC
On this system, sethostent_r does not exist, and is not found in the Configure
stage, so Configure says:

sethostent() found.
sethostent_r() NOT found.

On your system, is sethostent_r being found at this point?  If so, can you figure
out what header file on your system is declaring it?
Comment 2 A. Permyakov 2003-11-14 14:30:54 UTC
sethostent_r is found.  I cannot definitively determine where it gets set, just that it is related to the fact that threading is enabled.  With USE="-threads" libperl compiles OK.
Comment 3 Benjamin J. 2003-11-15 05:40:23 UTC
Got the same error here.

Configure says:
sethostent() found.
sethostent_r() found.
*** WHOA THERE!!! ***
    The recommended value for $d_sethostent_r_proto on this machine was "define"!
    Keep the recommended value? [y]

sethostent_r is defined in /usr/include/lwres/netdb.h which belongs to net-dns/bind-9.2.3
Comment 4 Marcus Pillekamp 2003-11-16 12:22:10 UTC
Agreed,

removing bind solves the problem in my case. 
Comment 5 James 2003-12-01 19:35:48 UTC
I get the same problems, and I have bind installed, but I cannot remove bind because it is being used.
Can anyone work out a different fix?
Comment 6 Robert Coie (RETIRED) gentoo-dev 2004-01-23 22:09:20 UTC
OK, I have built a clean stage 1 x86 chroot, installed BIND, and tried to emerge
libperl 5.8.2.  No problem.  sethostent_r is not picked up, compilation proceeds
fine.  Tried with and without USE="threads".  Can somebody affected by this
problem explain how BIND is corrupting things?  I see a /usr/include/lwres/netdb.h
provided by BIND that defines sethostent_r, but /usr/include/netdb.h provided by
glibc does not, and that one appears to be winning here.  How is BIND's header
file shadowing the glibc one for you people?
Comment 7 A. Permyakov 2004-01-26 08:28:27 UTC
This must have been an intermittent condition.  I cannot reproduce this
behaviour any more either.  Can anyone else confirm this?
Comment 8 DougT 2004-02-02 11:17:14 UTC
libperl came up in my list of things to emerge after an rsync today.

Calculating world dependencies ...done!
[ebuild     U ] sys-devel/libperl-5.8.2 [5.8.0] 
[ebuild     U ] dev-lang/perl-5.8.2-r1 [5.8.0-r12] 
[ebuild     U ] media-libs/libvorbis-1.0.1-r2 [1.0.1-r1] 
[ebuild     U ] media-libs/libgphoto2-2.1.3-r1 [2.1.2-r1] 
[ebuild     U ] media-gfx/gphoto2-2.1.3 [2.1.2] 

when I try to emerge it starts with libperl-5.8.2 gets to unpacking then freezes up the
machine except for the mouse can still move, nothing else works on exiting ctrl-alt-backspace fails, can't start or get to an open terminal to kill emerge.   Have to reboot.  I've tried it twice now same result.  Bind is not installed.

laptop root # emerge --info
Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.20-gentoo-r9)
=================================================================
System uname: 2.4.20-gentoo-r9 i686 Intel(R) Pentium(R) III Mobile CPU      1133MHz
Gentoo Base System version 1.4.3.10p1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium3 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo ftp://gentoo.mirrors.pair.com/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://gentoo.noved.org/ http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aalib apm arts avi berkdb bonobo cdr crypt cups directfb encode esd foomaticdb gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml guile imlib java jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv zlib"

help!
Comment 9 Dennis Freise 2004-02-14 15:37:58 UTC
I have exactly the same problem with sethostent_r. Compiling fails for perl & libperl, version 5.8.3. I have bind-9.2.3 installed, and /usr/include/lwres/netdb.h is present with sethostent_r defined. There's
also /usr/bind/include/netdh.h, which is exactly the same file as
in /usr/include/lwres/. The strange thing is, that if I move both files
elsewhere, perl's Configure _still_ claims to find sethostent_r somewhere :S I
grep'ed my whole /usr/include for sethostent_r and these two files are the
only ones which contain that symbol. Unmerging bind is no option, because it's
in use. The problem only appeared when I added "threads" to my USE.
For the sake of fixing this problem I'm ready to give shell-access to a
gentoo-developer. Just drop me a mail if you want...
Comment 10 Dennis Freise 2004-02-16 05:46:23 UTC
I downgraded bind-9.2.3 to bind-9.2.2-r3, which solved the problem for me.
The problem, so it seems, lies in bind, not in perl...
Comment 11 Michael Cummings (RETIRED) gentoo-dev 2004-08-05 18:08:52 UTC
Closing for age. Please reopen if this is persisting in 5.8.4 and current bind.
Comment 12 Martin Holzer (RETIRED) gentoo-dev 2004-09-21 13:16:51 UTC
same here
bind 9.2.3
libperl 5.8.4-r1 and perl 5.8.4-r1 fails with USE="threads"

when i try USE="-threads" it compiles fine