
p5p at perl
May 16, 2008, 10:33 AM
Post #3 of 3
(104 views)
Permalink
|
|
Re: Compiling perl (5.10.x) with gcc <= 3.2.3
[In reply to]
|
|
Quoting Andy Dougherty <doughera[at]lafayette.edu>: > On Fri, 16 May 2008, Bram wrote: > >> I've been installing all versions of gcc to test if Perl can compile >> with it and how if it passes all test. >> >> With gcc <= 3.2.3 I get: >> >> ./Configure -des -Dusedevel=y -Dcc=/opt/gcc/3.2.3/bin/gcc >> ==> No errors, >> >> make >> ==> No errors, >> >> make test >> t/base/rs.....................................................Can't >> load '../lib/auto/PerlIO/scalar/scalar.so' for module PerlIO::scalar: >> libgcc_s.so.1: cannot open shared object file: No such file or >> directory at ../lib/XSLoader.pm line 64. >> at ../lib/PerlIO/scalar.pm line 4 > >> I have the file libgcc_s.so.1 in /opt/gcc/3.2.3/lib/libgcc_s.so.1 >> (gcc was compiled with prefix=/opt/gcc/3.2.3) >> >> Setting LD_LIBRARY_PATH to /opt/gcc/3.2.3/lib/ and running make test >> results in 'All tests successful.'. > > I've seen a similar problem with the -fstack-protector stuff in bleadperl > (see [perl #54120] for a patch). > > To see if this is our fault or gcc's, can you try the following in a > succeeding and in a failing configuration: > > grep 'ld.*flags' config.sh compiled with gcc-3.2.3: (needs LD_LIBRARY_PATH) lddlflags='-shared -O2 -L/usr/local/lib' ldflags=' -L/usr/local/lib' ldflags_uselargefiles='' compiled with gcc-3.3.1: (doesn't need LD_LIBRARY_PATH) lddlflags='-shared -O2 -L/usr/local/lib' ldflags=' -L/usr/local/lib' ldflags_uselargefiles='' compiled with gcc-4.3.0: (doesn't need LD_LIBRARY_PATH) lddlflags='-shared -O2 -L/usr/local/lib' ldflags=' -L/usr/local/lib' ldflags_uselargefiles='' diff -Naur config.sh_3.2.3 config.sh_3.3.1: (stripped version) -ccsymbols='__GNUC_PATCHLEVEL__=3 __GXX_ABI_VERSION=102 __NO_INLINE__=1 __STDC_HOSTED__=1 __gnu_linux__=1 __tune_i686__=1 __tune_pentiumpro__=1 cpu=i386 mach ine=i386 system=posix' +ccsymbols='' -cppsymbols='_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 __GLIBC_MINOR__=2 __GLIBC__=2 __GNU_LIBRARY__=6 __STDC__=1 __US E_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_SVID=1' +cppsymbols='_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 __ELF__=1 __GLIBC_MINOR__=2 __GLIBC__=2 __GNUC_MINOR__=3 __GNUC __=3 __GNU_LIBRARY__=6 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __U SE_POSIX=1 __USE_SVID=1 __i386=1 __i386__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 i386=1 linux=1 unix=1' -d_attribute_nonnull='undef' +d_attribute_nonnull='define' -gccversion='3.2.3' +gccversion='3.3.1' diff -Naur config.sh_3.2.3 config.sh_4.3.0: (stripped version) -ccsymbols='__GNUC_PATCHLEVEL__=3 __GXX_ABI_VERSION=102 __NO_INLINE__=1 __STDC_HOSTED__=1 __gnu_linux__=1 __tune_i686__=1 __tune_pentiumpro__=1 cpu=i386 mach ine=i386 system=posix' +ccsymbols='' -cppccsymbols='__ELF__=1 __GNUC_MINOR__=2 __GNUC__=3 __i386=1 __i386__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 i386=1 linux=1 unix=1' +cppccsymbols='' -cppsymbols='_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 __GLIBC_MINOR__=2 __GLIBC__=2 __GNU_LIBRARY__=6 __STDC__=1 __US E_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_SVID=1' +cppsymbols='_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 __ELF__=1 __GLIBC_MINOR__=2 __GLIBC__=2 __GNUC_MINOR__=3 __GNUC __=4 __GNU_LIBRARY__=6 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __U SE_POSIX=1 __USE_SVID=1 __i386=1 __i386__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 i386=1 linux=1 unix=1' -d_attribute_nonnull='undef' +d_attribute_nonnull='define' -d_attribute_warn_unused_result='undef' +d_attribute_warn_unused_result='define' -d_signbit='undef' +d_signbit='define' -gccversion='3.2.3' +gccversion='4.3.0' > With -fstack-protector, we were adding it to ldflags, but not to > lddlflags, and, consequently, I was getting failures similar to what you > are reporting here. > > -- > Andy Dougherty doughera[at]lafayette.edu >
|