develooper Front page | perl.perl5.porters | Postings from August 2013

[perl #87120] 5.12.3 build 'make test' fails with Embed.pl using '-fexport-dynamic'

From:
James E Keenan via RT
Date:
August 31, 2013 01:49
Subject:
[perl #87120] 5.12.3 build 'make test' fails with Embed.pl using '-fexport-dynamic'
Message ID:
rt-3.6.HEAD-1873-1377913773-1427.87120-15-0@perl.org
On Sun Mar 27 08:40:05 2011, jvdias wrote:
> 
> 
> This is a bug report for perl from jason.vas.dias@gmail.com,
> generated with the help of perlbug 1.39 running under perl 5.12.3.
> 
> 
> -----------------------------------------------------------------
> [Please describe your issue here]
> 
> perl-5.12.3 'make test' fails with :
> 
> lib/ExtUtils/t/Embed...........................................cc1:
>    error: unrecognized command line option "-fexport-dynamic"
> FAILED at test 1
> 
> t/porting/checkcase............................................FAILED
>    at test 4875
> 
> I've been building 5.12.0- with these flags in config.sh ( but
>    obviously with 5.12.0 instead of 5.12.3 paths ), and
> it passes 'make test',  but 5.12.3 does not :
> 
> ccdlflags='-O -g -fstack-protector -fPIC
>   
-Wl,--export-dynamic,-rpath,/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE
>    -Wl,-rpath,/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE'
> lddlflags='-shared -O -g -fstack-protector -fPIC -Wl,--export-dynamic'
> ldflags='-Wl,--export-dynamic'
> 
> which are the ONLY occurences of the string 'export-dynamic' in
>    config.sh,
> that are all prefixed by '-Wl,', to mark them as linker  (GNU binutils
> ld(1) 2.21.51.0.6.20110118 / 2.20.51.0.7-6.fc14 ) options only .
> 
> So I can't understand how Embed.pm is getting '-fexport-dynamic' -
>    especially
> as this option is supported by no compiler on my machine:
> 
> $ gcc -fexport-dynamic -o /tmp/t /tmp/t.c; gcc -v
> cc1: error: unrecognized command line option "-fexport-dynamic"
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.5.1/lto-
>    wrapper
> Target: x86_64-redhat-linux
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
>    --infodir=/usr/share/info
>    --with-bugurl=http://bugzilla.redhat.com/bugzilla
>    --enable-bootstrap --enable-shared --enable-threads=posix
>    --enable-checking=release --with-system-zlib --enable-__cxa_atexit
>    --disable-libunwind-exceptions --enable-gnu-unique-object
>    --enable-linker-build-id
>    --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto
>    --enable-plugin --enable-java-awt=gtk --disable-dssi
>    --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
>    --enable-libgcj-multifile --enable-java-maintainer-mode
>    --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
>    --disable-libjava-multilib --with-ppl --with-cloog
>    --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
> Thread model: posix
> gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC)
> 
> 
> $  gcc -fexport-dynamic -o /tmp/t /tmp/t.c; gcc -v
> cc1: error: unrecognized command line option "-fexport-dynamic"
> Using built-in specs.
> Target: x86_64-pc-linux-gnu
> Configured with: ../configure --prefix=/usr
>    --enable-languages=c,c++,objc,obj-c++,java,fortran
>    --enable-targets=all --enable-multilib --enable-threads=posix
>    --enable-tls --enable-shared --enable-checking=release
>    --with-build-time-tools=/usr/bin --with-ld=/usr/bin/ld
>    --with-gnu-ld --with-as=/usr/bin/as --with-gnu-as
>    --enable-__cxa_atexit --disable-libunwind-exceptions
>    --with-system-zlib --with-system-gettext --with-system-intl
>    --with-system-libbfd --with-system-libopcodes
>    --with-system-libiberty --disable-werror --enable-classpath
>    --enable-java-awt=gtk --with-java-home=/usr/java
>    --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu
>    --enable-bootstrap --enable-serial-configure
> Thread model: posix
> gcc version 4.4.2 20090927 (prerelease) (GCC)
> 
> (yes, I know the last compiler is a bit out-of-date, I'm working on
>    that)...
> 
> So how is Embed.pm getting '-fexport-dynamic' ? is this some gcc-
>    4.5.2+ option ?
> If so,  Embed.pm should NOT be using it with gcc 4.5.1 / 4.4.2, and
>    using such a gcc
> option at all when it is only a wrapper to a '-Wl,' linker option and
>    when
> it causes such compatibility issues seems to me to be of dubious
>    utility at all .
> 
> Also, maybe a separate issue - why does this failure also occur:
> 
> t/porting/checkcase............................................FAILED
>    at test 4875
> 
> The above appear as regressions to me with respect to 5.12.0, which
>    passed its 'make test' .
> 
> Is this 5.12.3  git commit c0247066c34077145eaa8f33eddcbb64fa3b0f8d
>    the "latest stable maintenance branch" ?
> If not, what is ?
> 
> Thanks in advance for any replies,
> Jason
> 
> [Please do not change anything below this line]
> -----------------------------------------------------------------
> ---
> Flags:
>     category=core
>     severity=medium
> ---
> Site configuration information for perl 5.12.3:
> 
> Configured by root at Sun Mar 27 14:57:27 BST 2011.
> 
> Summary of my perl5 (revision 5 version 12 subversion 3)
>    configuration:
>   Commit id: c0247066c34077145eaa8f33eddcbb64fa3b0f8d
>   Platform:
>     osname=linux, osvers=2.6.31.1-jvd, archname=x86_64-linux-thread-
>    multi
>     uname='linux jvdspc 2.6.26-rc9.jvd #1 smp thu jul 10 15:01:47 edt
>    2008 x86_64 amd turion(tm) 64 x2 mobile technology tl-64
>    authenticamd gnulinux '
>     config_args='-f ./config.sh'
>     hint=previous, useposix=true, d_sigaction=define
>     useithreads=define, usemultiplicity=define
>     useperlio=define, d_sfio=undef, uselargefiles=define,
>    usesocks=undef
>     use64bitint=define, use64bitall=define, uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef
>   Compiler:
>     cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
>    -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE
>    -D_FILE_OFFSET_BITS=64',
>     optimize='-O -g',
>     cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
>    -fno-strict-aliasing -pipe -fstack-protector -D_REENTRANT
>    -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
>    -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>    -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
>    -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>    -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
>    -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>    -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
>    -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>    -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
>    -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>    -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
>    -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
>     ccversion='', gccversion='4.4.2 20090927 (prerelease)',
>    gccosandvers=''
>     intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
>     d_longlong=define, longlongsize=8, d_longdbl=define,
>    longdblsize=16
>     ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
>    lseeksize=8
>     alignbytes=8, prototype=define
>   Linker and Libraries:
>     ld='gcc', ldflags ='-Wl,--export-dynamic'
>     libpth=/lib64 /usr/lib64
>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>    -lgdbm_compat
>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>     libc=/lib64/libc.so.6, so=so, useshrplib=true, libperl=libperl.so
>     gnulibc_version='2.12'
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-O -g
>    -fstack-protector -fPIC
>   
-Wl,--export-dynamic,-rpath,/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE
>    -Wl,-rpath,/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE'
>     cccdlflags='-fPIC', lddlflags='-shared -O -g -fstack-protector
>    -fPIC -Wl,--export-dynamic'
> 
> Locally applied patches:
> 
> 
> ---
> @INC for perl 5.12.3:
>     /usr/build2/perl/perl/lib
>     /usr/lib/perl5/site_perl/5.12.3/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.12.3
>     /usr/lib/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.12.3
>     /usr/lib/perl5/5.12.3/x86_64-linux-thread-multi
>     /usr/lib/perl5/5.12.3
>     /usr/lib/perl5/site_perl/5.12.0
>     /usr/lib/perl5/site_perl/5.10.1
>     /usr/lib/perl5/site_perl/5.10.0
>     /usr/lib/perl5/site_perl/5.8.8
>     /usr/lib/perl5/site_perl
>     /usr/lib/perl5/vendor_perl/5.10.1
>     /usr/lib/perl5/vendor_perl/5.10.0
>     /usr/lib/perl5/vendor_perl/5.8.8
>     /usr/lib/perl5/vendor_perl
>     /usr/lib/perl5/vendor_perl/5.12.0
>     /usr/lib/perl5/vendor_perl/5.12.0/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.10.1
>     /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.10.0
>     /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.8.8
>     /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.8.7
>     /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.10.0
>     /usr/lib/perl5/site_perl/5.8.8]
>     /usr/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.10.1
>     /usr/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.10.0
>     /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.8.8
>     /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.8.7
>     /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
>     .
> 
> ---
> Environment for perl 5.12.3:
>     HOME=/home/root
>     LANG (unset)
>     LANGUAGE (unset)
>     LD_LIBRARY_PATH=/usr/build2/perl/perl
>     LD_PRELINK=/usr/build2/perl/perl/libperl.so
>     LOGDIR (unset)
>     PATH=.:/bin:/usr/bin:/sbin:/usr/sbin
>     PERL5LIB=/usr/build2/perl/perl/lib
>     PERL_BADLANG (unset)
>     SHELL (unset)


Would it be possible to give us an update as to whether you are still
having this problem?

Thank you very much.
Jim Keenan

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=87120



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About