On Mon, Oct 14, 2019 at 09:07:36PM +0200, gregor herrmann wrote:
> On Mon, 14 Oct 2019 10:34:41 +1100, Craig Small wrote:
> 
> > > libsnmp-perl is broken.
> > Ouch, I don't use the module (or Perl much for that matter) but that's very
> > broken. No idea what's going on but it worries me that
> > netsnmp_ds_get_boolean is the first function in that module which means a
> > coincidence or all functions are not available.

> So it looks like the "whole" problem is that net-snmp is not
> parallel-build safe …

Indeed. I think what happens is that if the Perl extensions get
configured (as in 'perl Makefile.PL') before the main libraries are built,
ExtUtils::MakeMaker will drop -lnetsnmp from the linking phase because
that library doesn't exist (yet). This is indicated by the

  Warning (mostly harmless): No library found for -lnetsnmp

messages in the build log.

We already fixed this once with debian/patches/perl-parallel-build.patch
in #894626, but that patch needs to be updated to reflect upstream
Makefile.in changes.

Moving the 'standardall' dependency to to 'perl/Makefile' target seems
to do the trick. Below is the updated version of the patch.

Apparently upstream is struggling with this issue too,
given the related messages in the changelog that Gregor
mentioned (commits 347d4cf207b834744fc9215f7e4423530c67653f and
fb763ef6f390ac8dec4d7c0c0160f648464d587d). Craig: you might want to
bring this up upstream and/or stop building in parallel if upstream is
against it.

Also, given this is the second time broken packages enter the archive
due to this issue, please consider adding at least some kind of sanity
check to the build.


diff --git a/Makefile.in b/Makefile.in
index 60b8d76d9..670646cf8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -180,7 +180,7 @@ perlmodules: perlmakefiles subdirs
 
 perlmakefiles: perl/Makefile net-snmp-config-x
 
-perl/Makefile: perl/Makefile.PL
+perl/Makefile: perl/Makefile.PL standardall
        dir=`pwd` &&                                                    \
        cd perl &&                                                      \
        if false; then                                                  \


-- 
Niko Tyni   nt...@debian.org

Reply via email to