Bug#817948: Cross build support breaks first time build of 5.22

Daniel Drake drake at endlessm.com
Fri Mar 11 22:29:30 UTC 2016


Package: perl
Version: 5.22.1-8

When attempting to build perl-5.22.1-8 on a system that has an old
version of perl currently installed (not cross compiling), the build
fails with:

# convert required header files
cd /usr/include; \
      /usr/src/packages/BUILD/perl-5.22.1/debian/fake-config
/usr/src/packages/BUILD/perl-5.22.1/lib
/usr/src/packages/BUILD/perl-5.22.1/perl.static \
       /usr/src/packages/BUILD/perl-5.22.1/utils/h2ph -a -d
/usr/src/packages/BUILD/perl-5.22.1/debian/tmp/usr/lib/x86_64-linux-gnu/perl/5.22
\
           `cat /usr/src/packages/BUILD/perl-5.22.1/debian/headers`
Can't locate strict.pm in @INC (you may need to install the strict
module) (@INC contains: /tmp/tmp.jWcRIUMmFL /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1
/usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22
/usr/share/perl/5.22 /usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base .) at
/usr/src/packages/BUILD/perl-5.22.1/utils/h2ph line 5.
BEGIN failed--compilation aborted at
/usr/src/packages/BUILD/perl-5.22.1/utils/h2ph line 5.
make: [install-stamp] Error 2 (ignored)
# fix up generated headers
/usr/src/packages/BUILD/perl-5.22.1/perl.static debian/fixheaders
debian/tmp/usr/lib/x86_64-linux-gnu/perl/5.22
Can't locate strict.pm in @INC (you may need to install the strict
module) (@INC contains: /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1
/usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22
/usr/share/perl/5.22 /usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base .) at debian/fixheaders line 7.
BEGIN failed--compilation aborted at debian/fixheaders line 7.
make: *** [install-stamp] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

I believe this error is not seen in official builds, because a
previous version of perl-5.22 is already brought in through circular
dependencies, and hence the (older version) standard library can be
found in /usr and used at this point.

However it fails when doing a build on a system that doesn't yet have
perl-5.22, and I imagine you'll see the same failure in Debian next
time the perl version number is bumped beyond 22.

I imagine this problem was introduced here:
http://anonscm.debian.org/cgit/perl/perl.git/commit/debian/rules?id=494019582d1007c831e65876dadd258874c9bd91

-I $(srcdir)/lib is no longer passed to PERL_TO_USE.




More information about the Perl-maintainers mailing list