arsv/perl-cross

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

arsv commented

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.

arsv commented

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

arsv commented

Tagged 1.3.3 with this fix.