Mageia Bugzilla – Bug 3731
Missing perl-base version number dependency
Last modified: 2011-12-15 00:02:32 CET
Installing drakxtools-backend-13.72.1-1.mga2 from Cauldron on a Mageia 1 installation succeeds, but doesn't run. When subsequently installing a new kernel, this error message is displayed:
/usr/bin/perl: symbol lookup error: /usr/lib/libDrakX/auto/c/stuff/stuff.so: undefined symbol: Perl_xs_apiversion_bootcheck
This is because the version of perl installed on Mageia 1 does not contain the Perl_xs_apiversion_bootcheck (and Perl_xs_version_bootcheck) exports.
The solution is to install a new perl-base package. The perl-base dependency on drakxtools-backend-13.72.1-1.mga2 should be enhanced to specify a version of perl that includes that export (presumbably, perl-base>=5.14.2 would suffice).
It looks like the new Perl_xs_apiversion_bootcheck dependency is due to a change in perl from using a macro to a function call in order to perform some version checking. That means that presumably other perl extension packages will also have the same problem as drakxtools-backend.
Installing drakxtools-backend-13.72.1-1.mga2 from Cauldron on a Mageia 1
installation succeeds, but doesn't run.
Why on a Mageia 1, we don't support backport...
I'm just trying to upgrade the kernel since the one on Mageia 1 crashes on me all the time. If the dependencies are right, there should be nothing stopping that from working.
Yes but a least you need to rebuild the srpms and not only take randomly the rpms.
So it's more a wontfix resolution.
Iirc it's need also a rebuild because it's not the same version of perl, but I don't really see the point to take drak* from cauldron for mga 1
added the maintainer, maybe I am wrong
and in addition perl of cauldron is not binary compatible with previous one. This have been warned on dev ML and this explain your pb.
In +, if you install on your mageia 1 a perl rpm from cauldron this is like russian roulette, because it may and often happen that the perl modules are not in the @INC because you can for ex ( this is just an exemple ) have perl 5.12.2 and if cauldron have perl 5.12.3, new modules built on cauldron will install in /usr/lib/perl5/5.12.3/ which *won't* be in the @INC of mageia 1 so it won't work.
If you did this for a kernel bug, the best is to open a bugreport against mageia 1 ( if not already done )
i hope i provided some infos ( and that i didn't told too many errors )
Clearly an invalid usage
Even if the use case is invalid, the bug report is legit.
We should require the proper perl version if a perl package contains some XS modules, to ensure consistency when updating perl packages.
This is a normally a job for find-requires, which adds a perlapi requirement for packages containing perl XS modules.
It might be broken for drakxtools because it does not install the XS module to a standard perl location. We should either add the perlapi requirement manually in the package, or move the XS files to a standard location.
Fixed in 13.72.1-2.mga2