Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

Compiling perl (5.10.x) with gcc <= 3.2.3

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


p5p at perl

May 16, 2008, 9:44 AM

Post #1 of 3 (151 views)
Permalink
Compiling perl (5.10.x) with gcc <= 3.2.3

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


./perl harness
Can't load '../lib/auto/File/Glob/Glob.so' for module File::Glob:
libgcc_s.so.1: cannot open shared object file: No such file or
directory at ../lib/XSLoader.pm line 64.
at ../lib/File/Glob.pm line 96
Compilation failed in require at harness line 69.
BEGIN failed--compilation aborted at harness line 69.



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.'.


If I build it with gcc > 3.2.3 then setting LD_LIBRARY_PATH is not needed.


Is this the normal/expected behavior?


Kind regards,

Bram


doughera at lafayette

May 16, 2008, 10:01 AM

Post #2 of 3 (142 views)
Permalink
Re: Compiling perl (5.10.x) with gcc <= 3.2.3 [In reply to]

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

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


p5p at perl

May 16, 2008, 10:33 AM

Post #3 of 3 (142 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
>

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.