develooper Front page | perl.perl5.porters | Postings from May 2012

Multiarch support from Debian breaks all my old perls

Thread Next
From:
andreas.koenig.7os6VVqR
Date:
May 1, 2012 01:04
Subject:
Multiarch support from Debian breaks all my old perls
Message ID:
87r4v4s4y9.fsf@franz.ak.mind.de
I have observed it on Debian sid and have not looked at other OSes. I
used to build my perls with gcc 4.4.5 and since Debian upgraded to gcc
4.6.3 and multiarch I encounter dynamic loading problems.

The pattern is that a perl program tries to use dynamic loading to load
a system "so" library but does not find it anymore. This happens because
meanwhile some system update has put the library into directories like
/lib/x86_64-linux-gnu/ or /usr/lib/x86_64-linux-gnu/ or so. The old perl
does not know about and does not look into the new-fangled directories
and the dynamic loading fails.

The old perl that was built before multiarch support had something like
this:

% .../bin/perl -V:libpth  
libpth='/usr/local/lib /lib/../lib /usr/lib/../lib /lib /usr/lib /lib64 /usr/lib64';

The perls I build now with gcc 4.6.3 have:

% .../bin/perl -V:libpth
libpth='/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib';

The only workaround I found so far is to edit the Config.pm of the old
perl and add the new installation directories there. This works
remarkably well but I'm not sure about details like best ordering.

I wonder if somebody has other solutions short of removing all old perls
from my disk and recompiling everything?

-- 
andreas

Thread Next


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