Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 36916 - libperl-5.8.X fails to compile, gives preprocessing errors
Summary: libperl-5.8.X fails to compile, gives preprocessing errors
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-31 13:14 UTC by Drew A. Withers
Modified: 2005-05-27 00:39 UTC (History)
0 users

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 Drew A. Withers 2003-12-31 13:14:24 UTC
When trying to upgrade my system from stable to unstable portage tree I can't emerge libperl. It gives invalid preprocessing errors. I receive the same errors when trying to compile libperl-5.8.2, 5.8.1 and 5.8.0. I've tried adding threads to my USE line. I also tried modifying my cflags down to almost nothing and I still get the same error.

Reproducible: Always
Steps to Reproduce:
1. Change ACCEPT_KEYWORDS="~x86" in make.conf
2. emerge libperl
3.

Actual Results:  
make[2]: Entering directory `/var/tmp/portage/libperl-5.8.2/work/perl-5.8.2/x2p'
echo Makefile.SH cflags.SH | tr ' ' '\n' >.shlist
make[2]: Leaving directory `/var/tmp/portage/libperl-5.8.2/work/perl-5.8.2/x2p'
Updating makefile...
make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.2/work/perl-5.8.2/x2p'
`sh  cflags "optimize='-fPIC -march=pentium3 -O2 -pipe -fomit-frame-pointer
-fforce-mem -fforce-addr -s'" perl.o` -fPIC perl.c
`sh  cflags "optimize='-fPIC -march=pentium3 -O2 -pipe -fomit-frame-pointer
-fforce-mem -fforce-addr -s'" gv.o` -fPIC gv.c
          CCCMD =  gcc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -fPIC -march=pentium3 -O2 -pipe -fomit-frame-pointer
-fforce-mem -fforce-addr -s  -Wall
          CCCMD =  gcc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -fPIC -march=pentium3 -O2 -pipe -fomit-frame-pointer
-fforce-mem -fforce-addr -s  -Wall
In file included from perl.h:37,
                 from perl.c:17:
config.h:2135:3: invalid preprocessing directive #I_STDARG
config.h:2136:3: invalid preprocessing directive #I_VARARGS
config.h:3103:9: invalid preprocessing directive #NEED_VA_COPY
In file included from perl.h:37,
                 from gv.c:26:
config.h:2135:3: invalid preprocessing directive #I_STDARG
config.h:2136:3: invalid preprocessing directive #I_VARARGS
config.h:3103:9: invalid preprocessing directive #NEED_VA_COPY
make: *** [gv.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [perl.o] Error 1

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


Expected Results:  
duh

Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20031222-r0, 2.6.
0)
=================================================================
System uname: 2.6.0 i686 Intel(R) Celeron(TM) CPU                1000MHz
Gentoo Base System version 1.4.3.12
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-fPIC -march=pentium3 -Os -pipe -fomit-frame-pointer -fforce-mem -fforce
-addr -s"
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 /var/qmail/alias /var/qm             
                                  ail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-fPIC -march=pentium3 -Os -pipe -fomit-frame-pointer -fforce-mem -ffor
                                               ce-addr -s"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linu
                                               x/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="3dfx X apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm gtk2 i
                                               mlib jpeg kde libg++ libwww mad
mikmod motif mpeg mysql ncurses nls oggvorbis op                               
                engl oss pam pdflib png python qt quicktime readline samba sdl
slang spell ssl s                                                vga tcpd
truetype x86 xml2 xmms xv zlib"
Comment 1 Eric Sammer (RETIRED) gentoo-dev 2004-01-11 08:23:25 UTC
Please try more conservative CFLAGS. Try getting rid of -s and -fforce-addr at a minimum.
Comment 2 Eric Sammer (RETIRED) gentoo-dev 2004-04-10 09:59:17 UTC
Closing due to lack of response.
Comment 3 Jim MacDonald 2004-09-09 07:50:34 UTC
I'm getting the same errors (near enough). This is what I get with 
  CFLAGS="-O2 -pipe"
  MAKEOPTS="-j1". 

I tried it with 
  CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" 
  MAKEOPTS="-j3",

as well and I still get the same errors (near enough). 





===============================================================================
......
Finding dependencies for perlmain.o.
make[1]: Entering directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4'
echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist
make[1]: Leaving directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4'
Updating makefile...
test -s perlmain.c && touch perlmain.c
cd x2p; make depend
make[1]: Entering directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4/x2p'
sh ../makedepend MAKE=make
make[2]: Entering directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4/x2p'
echo hash.c  str.c util.c walk.c | tr ' ' '\n' >.clist
make[2]: Leaving directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4/x2p'
Finding dependencies for hash.o.
Finding dependencies for str.o.
Finding dependencies for util.o.
Finding dependencies for walk.o.
make[2]: Entering directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4/x2p'
echo Makefile.SH cflags.SH | tr ' ' '\n' >.shlist
make[2]: Leaving directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4/x2p'
Updating makefile...
make[1]: Leaving directory `/tmp/portage/libperl-5.8.4-r1/work/perl-5.8.4/x2p'
`sh  cflags "optimize='-O3 -march=pentium4 -fomit-frame-pointer -pipe'" perl.o` -fPIC perl.c
          CCCMD =  gcc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -march=pentium4 -fomit-frame-pointer -pipe  -Wall
In file included from perl.h:37,
                 from perl.c:76:
config.h:2147:3: invalid preprocessing directive #I_STDARG
config.h:2148:3: invalid preprocessing directive #I_VARARGS
config.h:3120:9: invalid preprocessing directive #NEED_VA_COPY
make: *** [perl.o] Error 1

!!! ERROR: sys-devel/libperl-5.8.4-r1 failed.
!!! Function src_compile, Line 213, Exitcode 2
!!! Unable to make libperl.so
=============================================================================
Portage 2.0.50-r11 (hardened-x86-2004.0, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7-hardened-r7)
=================================================================
System uname: 2.6.7-hardened-r7 i686 Intel(R) Xeon(TM) CPU 2.80GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 berkdb bzlib cdr chroot cpdflib crypt dbx dvdr erandom fdftk gd gdbm gif hardened hardenedphp imagemagick imap innodb jpeg ldap libwww memlimit mime mmx mng mysql mysqli pam pcre pdflib perl php pic pie png postgres python readline simplexml sse ssl svg tcpd tetex tidy vhosts x86 zlib"
Comment 4 Jim MacDonald 2005-05-27 00:39:20 UTC
(In reply to comment #3) 
I finally worked out what is causing this! 
 
Looking earlier on in output from emerge I had loads of errors like 
 
/sbin/grep : Permission Denied 
 
I turns out this was just a text file, not the grep binary. I think the perl 
build must fail to detect the error and assume grep ran fine. 
 
Deleted the file and perl builds fine now! :-)