Uncomplete installation with perl-cross 1.3.2
selkfoster opened this issue · 4 comments
Hello :-)
I have updated to Perl 5.30.2 with perl-cross 1.3.2. It turns out that the installation is uncomplete because in a build process that I have been handling for some time, texinfo reports that the Encode module does not appear. I switched back to Perl 5.30.1 with perl-cross 1.3.1 and it worked fine.
The options I use for the temporal Perl are:
./configure \
--prefix=/tools \
--target=$target \
--all-static \
-Dusethreads \
-Dprivlib=/tools/lib${libSuffix}/perl5 \
-Dsitelib=/tools/lib${libSuffix}/perl5/site_perl \
-Dldflags="$BTLDFLAGS -static"
make -j1
mkdir -p -- "${rootdir}/tools/bin" "${rootdir}/tools/lib${libSuffix}/perl5"
cp -f perl cpan/podlators/scripts/pod2man "${rootdir}/tools/bin"
cp -R lib/* "${rootdir}/tools/lib${libSuffix}/perl5"
Just in case, If you're wondering if I changed anything, the answer is no. Since I've been using the exact same lines for a long time. I think something changed in the new version of perl-cross...
Confirming, 1.3.2 fails to fill static.list properly and therefore does not link static modules in. Dynaloader gets through because it's linked in a different way.
The key piece of your configuration is --all-static, this issue does not affect typical dynamic builds.
Probably related to module list format changes f280b9e, looking into this.
https://github.com/arsv/perl-cross/tree/all-static-fix
If possible, please try it with your configuration, and I think I'd tag a new release then.
Okay..
For a quick test, I've override (replacing) the provided Makefile in the perl-cross 1.3.2 version with the Makefile containing the change that fix the static list:
https://raw.githubusercontent.com/arsv/perl-cross/e79612aca67390eeda3bed0498ed1fee69d3830b/Makefile
.. and it worked. :-)
Tagged 1.3.3 with this fix.