Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 136593 - Net-SSLeay (and various perl modules) fail to compile
Summary: Net-SSLeay (and various perl modules) fail to compile
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-12 15:47 UTC by Todd Lyons
Modified: 2006-06-15 11:04 UTC (History)
1 user (show)

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


Attachments
portage log output of failed compile (2280-Net-SSLeay-1.25.log,3.21 KB, text/x-log)
2006-06-14 12:17 UTC, Todd Lyons
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Todd Lyons 2006-06-12 15:47:36 UTC
Various perl modules were failing to compile.  perl-5.8.8-r2 has /usr/lib/perl5/5.8.8/i686-linux/Config_heavy.pl with a line:

ccflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'

The -Wdeclaration-after-statement causes the compile to die no matter which version of gcc is installed (3.3.x or 3.4.x).  Had to remove that flag from the perl file and then modules started to build properly.
Comment 1 Todd Lyons 2006-06-12 16:02:41 UTC
# emerge --info
Portage 2.1 (default-linux/x86/2006.0, gcc-3.3.6, glibc-2.3.6-r3, 2.6.12-gentoo-r10 i686)
=================================================================
System uname: 2.6.12-gentoo-r10 i686 Intel(R) Xeon(TM) CPU 2.80GHz
Gentoo Base System version 1.6.14
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r2
sys-devel/gcc-config: 1.3.13-r2
sys-devel/libtool:   1.4.3-r4, 1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://terabyte.ivenue.net/gentoo/"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://INTERNAL_IP/portage"
USE="acpi alsa apache2 apm arts avi bitmap-fonts cli crypt cups dba directfb dri eds emboss encode esd fam fastcgi fbcon foomaticdb fortran freetds gdbm gif gpm gstreamer gtk2 imlib ipv6 isdnlog java jpeg kde ldap ldirectord libg++ libwww mad maildir mikmod mmx motif mp3 mpeg mysql ncurses nls nptl odbc ogg opengl oss pam pcre pdflib perl png pppd python quicktime readline reflection samba sdl session silvercity snmp spell spl sqlite sse ssl tcpd truetype truetype-fonts type1-fonts udev usb vorbis x86 xml xml2 xmms xorg xv zlib elibc_glibc kernel_linux userland_GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2006-06-13 14:04:50 UTC
Two things:
1)This was a change made upstream according to Changes output (roughly line 4779 of the Configure script for perl) and is added if your compiler supports it (outside of gentoo's configure process - ie, not something i added in :). 

2) i emerged Net-SSLeay just now without toching the flag - i don't think that was the source of your problem., but it's hard to say since you didn't provide any actual error data. My emerge happened without any problems. 
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-06-13 14:57:39 UTC
Works fine here as well. Upgrade your gcc to latest stable before reporting compile-related issues. Thanks.
Comment 4 Todd Lyons 2006-06-14 12:17:23 UTC
Created attachment 89197 [details]
portage log output of failed compile

Also relevant versions of gcc:

# gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/specs
Configured with: /var/tmp/portage/gcc-3.3.6/work/gcc-3.3.6/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3.6
--includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.6
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.6/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.6/info
--with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/include/g++-v3
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--enable-nls --without-included-gettext --with-system-zlib
--disable-checking --disable-werror --disable-libunwind-exceptions
--disable-multilib --disable-libgcj --enable-languages=c,c++,f77
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu
Thread model: posix
gcc version 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)

# find /usr/bin /usr/i686-pc-linux-gnu/gcc-bin/* -name *gcc* -exec ls -l {} \;
-rwxr-xr-x 1 root root 8900 Jun 12 10:34 /usr/bin/gcc
-rwxr-xr-x 1 root root 6928 Apr 12  2004 /usr/bin/i386-pc-linux-gnu-gcc
-rwxr-xr-x 1 root root 18109 Jun 12 09:26 /usr/bin/gcc-config
-rwxr-xr-x 1 root root 8900 Jun 12 10:34 /usr/bin/i686-pc-linux-gnu-gcc
lrwxrwxrwx 1 root root 58 Jun 12 14:39 /usr/bin/gcc-3.4.6 -> /usr/i686-pc-linux-gnu/gcc-bin/3.4.6/i686-pc-linux-gnu-gcc
lrwxrwxrwx 1 root root 58 Jun 12 14:39 /usr/bin/i686-pc-linux-gnu-gcc-3.4.6 -> /usr/i686-pc-linux-gnu/gcc-bin/3.4.6/i686-pc-linux-gnu-gcc
-rwxr-xr-x 1 root root 8900 Jun 12 14:39 /usr/bin/gcc32                         -rwxr-xr-x 1 root root 8900 Jun 12 14:39 /usr/bin/i686-pc-linux-gnu-gcc32
lrwxrwxrwx 1 root root 58 Jun 12 10:34 /usr/bin/i686-pc-linux-gnu-gcc-3.3.6 -> /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/i686-pc-linux-gnu-gcc
lrwxrwxrwx 1 root root 58 Jun 12 10:34 /usr/bin/gcc-3.3.6 -> /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/i686-pc-linux-gnu-gcc
-rwxr-xr-x 1 root root 16320 Jun 12 10:34 /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/gccbug
-rwxr-xr-x 1 root root 88120 Jun 12 10:34 /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/i686-pc-linux-gnu-gcc
lrwxrwxrwx 1 root root 21 Jun 12 10:34 /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/gcc -> i686-pc-linux-gnu-gcc
lrwxrwxrwx 1 root root 21 Jun 12 10:34 /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/i686-pc-linux-gnu-gcc-3.3.6 -> i686-pc-linux-gnu-gcc
-rwxr-xr-x 1 root root 16405 Jun 12 14:39 /usr/i686-pc-linux-gnu/gcc-bin/3.4.6/gccbug
-rwxr-xr-x 1 root root 90576 Jun 12 14:39 /usr/i686-pc-linux-gnu/gcc-bin/3.4.6/i686-pc-linux-gnu-gcc
lrwxrwxrwx 1 root root 21 Jun 12 14:39 /usr/i686-pc-linux-gnu/gcc-bin/3.4.6/gcc -> i686-pc-linux-gnu-gcc 
lrwxrwxrwx 1 root root 21 Jun 12 14:39 /usr/i686-pc-linux-gnu/gcc-bin/3.4.6/i686-pc-linux-gnu-gcc-3.4.6 -> i686-pc-linux-gnu-gcc
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2006-06-14 13:14:59 UTC
any aliases, either in your own profile, roots, or in something being else being used (ie, sudo, /etc/profile, etc?). I see the line gcc -c, but the error refers to cc1...
Comment 6 Todd Lyons 2006-06-14 14:09:20 UTC
# alias
# locate cc1
/etc/ssl/certs/6fcc125d.0
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/cc1
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/cc1plus
/usr/libexec/gcc/i686-pc-linux-gnu/3.4.6/cc1
/usr/libexec/gcc/i686-pc-linux-gnu/3.4.6/cc1plus
/usr/portage/sys-devel/gcc/files/3.4.0/gcc-3.4.0-cc1-no-stack-protector.patch

I did see that it was cc1 spitting out the error, but kind of thought that was just the way gcc built things when called by 'gcc'.  At this point, I don't know that there's much I can do except maybe rebuild gcc 3.3.6.

For reference, here's the make.conf:
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j6"
USE="-X -qt -gnome -gtk acpi -apache apache2 -berkdb crypt dba directfb fam fastcgi fbcon freetds gdbm ipv6 java ldap ldirectord libwww maildir mmx mysql odbc pam perl samba silvercity snmp ssl sse spell sqlite truetype usb xml2 zlib x86"
AUTOCLEAN="yes"
PORTDIR_OVERLAY="/usr/local/portage"
#GENTOO_MIRRORS="http://gentoo.ccccom.com/"
GENTOO_MIRRORS="http://terabyte.ivenue.net/gentoo/"
SYNC="rsync://INTERNALIP/portage"
#PORT_LOGDIR="/var/log/portage"
Comment 7 Todd Lyons 2006-06-14 14:11:48 UTC
# perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.12-gentoo-r10, archname=i686-linux
    uname='linux admin51 2.6.12-gentoo-r10 #1 smp mon sep 12 17:33:39 pdt 2005 i686 intel(r) xeon(tm) cpu 2.80ghz genuineintel gnulinux '
    config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC -Dccdlflags=-rdynamic -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth=  -Doptimize=-O2 -march=pentium4 -fomit-frame-pointer -Duselargefiles -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1 -Dinstallman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/i686-linux 5.8.2 5.8.2/i686-linux 5.8.4 5.8.4/i686-linux 5.8.5 5.8.5/i686-linux 5.8.6 5.8.6/i686-linux 5.8.7 5.8.7/i686-linux  -Dcf_by=Gentoo -Ud_csh -Dusenm -Di_ndbm -Di_gdbm -Ui_db'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -march=pentium4 -fomit-frame-pointer',
    cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
    ccversion='', gccversion='3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
  Built under linux
  Compiled at Jun  1 2006 16:16:24
  @INC:
    /etc/perl
    /usr/lib/perl5/vendor_perl/5.8.8/i686-linux
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl/5.8.2
    /usr/lib/perl5/vendor_perl/5.8.2/i686-linux
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/site_perl/5.8.8/i686-linux
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl/5.8.2
    /usr/lib/perl5/site_perl/5.8.2/i686-linux
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/5.8.8/i686-linux
    /usr/lib/perl5/5.8.8
    /usr/local/lib/site_perl
    .
Comment 8 Michael Cummings (RETIRED) gentoo-dev 2006-06-14 14:29:03 UTC
how many procs is this box? (-j6? - i've just had bad experience with -j being too high in past bugs)

Also, this is going to sounds semi-random (and it is), but what do you still have lingering in /usr/lib/perl5/vendor_perl/5.8.2 that's causing it to linger around? (mostly asking in case any of the ExtUtils:: related items might be interfering - it happens on occasion)
Comment 9 Todd Lyons 2006-06-14 14:43:24 UTC
It's dual Xeon, so the OS sees 4 CPUs.  We set it at NumCPUs + 2. So there is always a job waiting to run if two of the CPUs were to finish simultaneously.  As for the contents of 5.8.2 subdirectory:

# pwd
/usr/lib/perl5/5.8.2
# find .
.
./i686-linux
./i686-linux/CORE
./i686-linux/CORE/libperl.so.1.5.8
./i686-linux/CORE/libperl.so.1
./i686-linux/CORE/libperl.so
./i686-linux/perllocal.pod
./CPAN
./CPAN/Config.pm
./CPAN/Config.pm~

So it looks like the only real thing is the CPAN config.  When this box was originally setup in May 3, 2004, the amount of perl modules in portage was less than currently so CPAN was used for some perl modules.  Now everything we need is in portage, so I guess that older perl directory never got deleted from the upgrades.

At this point I think it's safe to close this bug out as UserHasATooManyTimesUpgradedSystem.  I can get it to build properly by taking the one flag out, others' systems build fine with it, so it's obviously an isolated case.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-06-15 11:04:10 UTC
You should run perl-cleaner reallyall and after it's finished, check and delete remaining stale perl cruft manually.

Thanks, closing this.