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

Mailing List Archive: Perl: porters

Blead smoke failure: Can't load *.so

 

 

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


moritz at casella

Jan 29, 2008, 5:53 AM

Post #1 of 6 (146 views)
Permalink
Blead smoke failure: Can't load *.so

I compiled a fresh blead copy with
sh Configure -de
make -j 4
make test

In the test output there are many errors like this:

lib/Log/Message/Simple/t/01_use...............................# Failed
test 'use Log::Message::Simple;'
# at ../lib/Log/Message/Simple/t/01_use.t line 6.
# Tried to use 'Log::Message::Simple'.
# Error: Can't load '../lib/auto/Data/Dumper/Dumper.so' for module
Data::Dumper: ../lib/auto/Data/Dumper/Dumper.so: undefined symbol:
__stack_chk_fail_local at ../lib/XSLoader.pm line 64.
# at ../lib/Data/Dumper.pm line 36

all complaining about undefined symbols.

System is Debian GNU/Linux (stable + a few backports) in 32 bit i386
(with SMP).

$ gcc --version
gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Any ideas?

--
Moritz Lenz
http://moritz.faui2k3.org/ | http://perl-6.de/
Attachments: signature.asc (0.25 KB)


nick at ccl4

Feb 1, 2008, 3:04 AM

Post #2 of 6 (129 views)
Permalink
Re: Blead smoke failure: Can't load *.so [In reply to]

On Tue, Jan 29, 2008 at 02:53:34PM +0100, Moritz Lenz wrote:
> I compiled a fresh blead copy with
> sh Configure -de
> make -j 4
> make test
>
> In the test output there are many errors like this:
>
> lib/Log/Message/Simple/t/01_use...............................# Failed
> test 'use Log::Message::Simple;'
> # at ../lib/Log/Message/Simple/t/01_use.t line 6.
> # Tried to use 'Log::Message::Simple'.
> # Error: Can't load '../lib/auto/Data/Dumper/Dumper.so' for module
> Data::Dumper: ../lib/auto/Data/Dumper/Dumper.so: undefined symbol:
> __stack_chk_fail_local at ../lib/XSLoader.pm line 64.
> # at ../lib/Data/Dumper.pm line 36
>
> all complaining about undefined symbols.
>
> System is Debian GNU/Linux (stable + a few backports) in 32 bit i386
> (with SMP).
>
> $ gcc --version
> gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
> Copyright (C) 2006 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> Any ideas?

Do you know when this started failing for you on this system?
Has the gcc been upgraded recently?

Nicholas Clark


doughera at lafayette

Feb 1, 2008, 4:47 AM

Post #3 of 6 (129 views)
Permalink
Re: Blead smoke failure: Can't load *.so [In reply to]

On Fri, 1 Feb 2008, Nicholas Clark wrote:

> On Tue, Jan 29, 2008 at 02:53:34PM +0100, Moritz Lenz wrote:
> > I compiled a fresh blead copy with
> > sh Configure -de
> > make -j 4
> > make test
> >
> > In the test output there are many errors like this:
> >
> > lib/Log/Message/Simple/t/01_use...............................# Failed
> > test 'use Log::Message::Simple;'
> > # at ../lib/Log/Message/Simple/t/01_use.t line 6.
> > # Tried to use 'Log::Message::Simple'.
> > # Error: Can't load '../lib/auto/Data/Dumper/Dumper.so' for module
> > Data::Dumper: ../lib/auto/Data/Dumper/Dumper.so: undefined symbol:
> > __stack_chk_fail_local at ../lib/XSLoader.pm line 64.
> > # at ../lib/Data/Dumper.pm line 36

My first guess would be to see if you can reproduce the problem on a fresh
checkout without the '-j 4'. Perhaps there are some dependencies gettting
missed in the parallel build?

--
Andy Dougherty doughera[at]lafayette.edu


moritz at casella

Feb 3, 2008, 10:36 AM

Post #4 of 6 (128 views)
Permalink
Re: Blead smoke failure: Can't load *.so [In reply to]

Andrew Dougherty wrote:
> On Fri, 1 Feb 2008, Nicholas Clark wrote:
>
>> On Tue, Jan 29, 2008 at 02:53:34PM +0100, Moritz Lenz wrote:
>> > I compiled a fresh blead copy with
>> > sh Configure -de
>> > make -j 4
>> > make test
>> >
>> > In the test output there are many errors like this:
>> >
>> > lib/Log/Message/Simple/t/01_use...............................# Failed
>> > test 'use Log::Message::Simple;'
>> > # at ../lib/Log/Message/Simple/t/01_use.t line 6.
>> > # Tried to use 'Log::Message::Simple'.
>> > # Error: Can't load '../lib/auto/Data/Dumper/Dumper.so' for module
>> > Data::Dumper: ../lib/auto/Data/Dumper/Dumper.so: undefined symbol:
>> > __stack_chk_fail_local at ../lib/XSLoader.pm line 64.
>> > # at ../lib/Data/Dumper.pm line 36
>
> My first guess would be to see if you can reproduce the problem on a fresh
> checkout without the '-j 4'. Perhaps there are some dependencies gettting
> missed in the parallel build?

I tried it with a fresh rsync and without parallel build, the error is
still the same.

However when I remove all occurences of -fstack-protector from
config.sh, rerun 'sh Configure -de -Dusedevel; make -j 4; make test' it
works fine.

Cheers,
Moritz
--
Moritz Lenz
http://moritz.faui2k3.org/ | http://perl-6.de/
Attachments: signature.asc (0.25 KB)


doughera at lafayette

Feb 3, 2008, 11:02 AM

Post #5 of 6 (129 views)
Permalink
Re: Blead smoke failure: Can't load *.so [In reply to]

On Sun, 3 Feb 2008, Moritz Lenz wrote:

> Andrew Dougherty wrote:
> > On Fri, 1 Feb 2008, Nicholas Clark wrote:
> >
> >> On Tue, Jan 29, 2008 at 02:53:34PM +0100, Moritz Lenz wrote:
> >> > I compiled a fresh blead copy with
> >> > sh Configure -de
> >> > make -j 4
> >> > make test
> >> >
> >> > In the test output there are many errors like this:
> >> >
> >> > lib/Log/Message/Simple/t/01_use...............................# Failed
> >> > test 'use Log::Message::Simple;'
> >> > # at ../lib/Log/Message/Simple/t/01_use.t line 6.
> >> > # Tried to use 'Log::Message::Simple'.
> >> > # Error: Can't load '../lib/auto/Data/Dumper/Dumper.so' for module
> >> > Data::Dumper: ../lib/auto/Data/Dumper/Dumper.so: undefined symbol:
> >> > __stack_chk_fail_local at ../lib/XSLoader.pm line 64.
> >> > # at ../lib/Data/Dumper.pm line 36
> >
> > My first guess would be to see if you can reproduce the problem on a fresh
> > checkout without the '-j 4'. Perhaps there are some dependencies gettting
> > missed in the parallel build?
>
> I tried it with a fresh rsync and without parallel build, the error is
> still the same.
>
> However when I remove all occurences of -fstack-protector from
> config.sh, rerun 'sh Configure -de -Dusedevel; make -j 4; make test' it
> works fine.

Thanks for the feedback. I should have recognized that
__stack_ck_chk_fail_local as not being a perl symbol. Thanks for doing
that for me.

I guess Configure's test of whether or not it's safe to add
-fstack-protector is insufficiently robust, but it's not immediately
obvious to me what to fix. Offhand, I wonder if we need to add
-fstack-protector to lddlflags or cccdlflags or some other dynamic-loading
related variable. It will take some checking.

--
Andy Dougherty doughera[at]lafayette.edu


doughera at lafayette

May 16, 2008, 10:08 AM

Post #6 of 6 (73 views)
Permalink
Re: Blead smoke failure: Can't load *.so [In reply to]

On Sun, 3 Feb 2008, Andy Dougherty wrote:

> On Sun, 3 Feb 2008, Moritz Lenz wrote:
>
> > Andrew Dougherty wrote:
> > > On Fri, 1 Feb 2008, Nicholas Clark wrote:
> > >
> > >> On Tue, Jan 29, 2008 at 02:53:34PM +0100, Moritz Lenz wrote:
> > >> > I compiled a fresh blead copy with

> > >> > In the test output there are many errors like this:
> > >> >
> > >> > lib/Log/Message/Simple/t/01_use...............................# Failed
> > >> > test 'use Log::Message::Simple;'
> > >> > # at ../lib/Log/Message/Simple/t/01_use.t line 6.
> > >> > # Tried to use 'Log::Message::Simple'.
> > >> > # Error: Can't load '../lib/auto/Data/Dumper/Dumper.so' for module
> > >> > Data::Dumper: ../lib/auto/Data/Dumper/Dumper.so: undefined symbol:
> > >> > __stack_chk_fail_local at ../lib/XSLoader.pm line 64.
> > >> > # at ../lib/Data/Dumper.pm line 36

> I guess Configure's test of whether or not it's safe to add
> -fstack-protector is insufficiently robust, but it's not immediately
> obvious to me what to fix. Offhand, I wonder if we need to add
> -fstack-protector to lddlflags or cccdlflags or some other dynamic-loading
> related variable. It will take some checking.

Yes, that was it. We did indeed need to add -fstack-protector to
lddlflags. See [perl #54120] for a metaconfig patch. As this will
require a regen of Configure, it won't apply cleanly to bleadperl as is,
but should eventually get fixed.

Thanks for the report. Sorry it took so long to fix it.

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