Bug#248730: Error: dynamic loading not available in this perl
On Thu, May 13, 2004 at 07:05:38AM +0200, Fabio Massimo Di Nitto wrote:
>On Thu, 13 May 2004, Srdjan wrote:
>> | This looks like http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=247291
>> | which should be fixed in perl 5.8.4-2 - Have you tried stopping and starting
>> | apache2 since the perl upgrade?
>
>Brendan what is the problem with perl that keeps breaking so often? It is
>not the first time we need to run behind these problems. Is it safe now to
>upload apache & Co. with a dependency >= 5.4.1-2, or do we need to bind to
>perl with = 5.4.1-2 ? What do you suggest?
The dependency requirements for programs embedding a perl interpreter
are detailed in Perl Policy §5.2: dpkg-shlibdeps should generate the
required dependency (on libperlN.N, which in turn depends on perl-base
of the same version).
Packages such as libapache2-mod-perl2 which additionally provide binary
perl modules also require the dependencies for packaged modules given in
§3.4.2 (perl >= <build-perl-version>, perlapi-N.N.N).
That's how it is supposed to work in theory.
In practice there are two issues:
* The @INC paths contained the full version, causing problems loading
core modules when perl was upgraded without restarting long-running
processes (the reason I presume for initially tightening the
dependencies in apache).
This was fixed in 5.8.3.
* Since upstream doesn't drop the sub-version from the soname there
have been minor issues with compatability across versions.
In this case the problem b/w 5.8.3 and .4 was pretty minor, a trivial
change to DynaLoader which bumped the version number, causing a
miss-match with programs compiled against the old version.
The change was corrected in 5.8.4-2, although as noted at the time
this unfortunately forced a re-build of anything built against
5.8.4-1.
Given that the first issue should now be resolved you should be able to
use looser dependencies as described above.
While I can't guarantee that breakages as occurred with 5.8.4-1 won't
occur, they should be resolvable by fixing the perl packages rather than
requiring a rebuild of other packages such as apache.
As a working example, libapache2-mod-perl2 which was built with 5.8.3-2
works fine with 5.8.4-2. I used this package as one of my checks prior
to releasing 5.8.4-1, although unfortunately the basic mod_perl script I
used didn't involve DynaLoader (it does now).
--bod
Reply to: