Hi, I just checked the build log. I think the problem is that the Makefile does not properly enforce the correct build order: PROGS actually depend on libmissing.a. The build log shows that, at the time of the build error, libmissing.a is not yet build (but tried to link against). I suspect the problem surfaced due to the level of parallelism on the buildd (-j 64).
I've prepared a minimal patch against version 2.4b1+debian-24 (currently in stretch) that should be suitable for an unblock, see attachment. If you want I can push that into our git repo, tag it as new release and then merge that commit into our development branch (bumping the version for the newer changes when merging the commit log). Thanks Lukas
diff --git a/debian/changelog b/debian/changelog index 668cd49..388ae33 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +dsniff (2.4b1+debian-25) unstable; urgency=medium + + * Team upload. + * Make sure libmissing.a is built before PROGS (Closes: #860611). + + -- Lukas Schwaighofer <lu...@schwaighofer.name> Wed, 19 Apr 2017 10:14:38 +0200 + dsniff (2.4b1+debian-24) unstable; urgency=medium * Fix FTCBFS: Pass triplet-prefixed CC to configure. diff --git a/debian/patches/34_make-sure-libmissing.a-is-built-before-PROGS.patch b/debian/patches/34_make-sure-libmissing.a-is-built-before-PROGS.patch new file mode 100644 index 0000000..640a9b7 --- /dev/null +++ b/debian/patches/34_make-sure-libmissing.a-is-built-before-PROGS.patch @@ -0,0 +1,90 @@ +From: Lukas Schwaighofer <schwa...@in.tum.de> +Date: Wed, 19 Apr 2017 10:12:11 +0200 +Subject: make sure libmissing.a is built before PROGS + +with enough paralellism, the package will FTBFS because the +correct build order is not ensured by make + +Closes: #860611 +--- + Makefile.in | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 1b1621d..ada5412 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -75,7 +75,7 @@ CONFIGS = dsniff.magic dsniff.services dnsspoof.hosts + .c.o: + $(CC) $(CFLAGS) $(INCS) -c $(srcdir)/$*.c + +-all: libmissing.a $(PROGS) ++all: $(PROGS) + + mount.c: mount.x + rpcgen -h mount.x -o mount.h +@@ -92,49 +92,49 @@ libmissing.a: $(LIBOBJS) + ar -cr $@ $(LIBOBJS) + $(RANLIB) $@ + +-dsniff: $(HDRS) $(SRCS) $(OBJS) ++dsniff: $(HDRS) $(SRCS) $(OBJS) libmissing.a + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) $(DBLIB) $(SSLLIB) + +-arpspoof: arpspoof.o arp.o ++arpspoof: arpspoof.o arp.o libmissing.a + $(CC) $(LDFLAGS) -o $@ arpspoof.o arp.o $(LIBS) $(PCAPLIB) $(LNETLIB) + +-dnsspoof: dnsspoof.o pcaputil.o ++dnsspoof: dnsspoof.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ dnsspoof.o pcaputil.o $(LIBS) $(PCAPLIB) $(LNETLIB) + +-filesnarf: nfs_prot.o filesnarf.o pcaputil.o rpc.o ++filesnarf: nfs_prot.o filesnarf.o pcaputil.o rpc.o libmissing.a + $(CC) $(LDFLAGS) -o $@ filesnarf.o nfs_prot.o pcaputil.o rpc.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) + +-macof: macof.o ++macof: macof.o libmissing.a + $(CC) $(LDFLAGS) -o $@ macof.o $(LIBS) $(PCAPLIB) $(LNETLIB) + +-mailsnarf: mailsnarf.o buf.o pcaputil.o ++mailsnarf: mailsnarf.o buf.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ mailsnarf.o buf.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) + +-msgsnarf: msgsnarf.o buf.o pcaputil.o ++msgsnarf: msgsnarf.o buf.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ msgsnarf.o buf.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) + +-sshmitm: sshmitm.o buf.o hex.o record.o ssh.o sshcrypto.o ++sshmitm: sshmitm.o buf.o hex.o record.o ssh.o sshcrypto.o libmissing.a + $(CC) $(LDFLAGS) -o $@ sshmitm.o buf.o hex.o record.o ssh.o sshcrypto.o $(LIBS) $(LNETLIB) $(DBLIB) $(SSLLIB) + +-sshow: sshow.o pcaputil.o ++sshow: sshow.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ sshow.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) + +-tcpkill: tcpkill.o pcaputil.o ++tcpkill: tcpkill.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ tcpkill.o pcaputil.o $(LIBS) $(PCAPLIB) $(LNETLIB) + +-tcpnice: tcpnice.o pcaputil.o ++tcpnice: tcpnice.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ tcpnice.o pcaputil.o $(LIBS) $(PCAPLIB) $(LNETLIB) + +-tcphijack: tcphijack.o pcaputil.o ++tcphijack: tcphijack.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ tcphijack.o pcaputil.o $(LIBS) $(PCAPLIB) $(LNETLIB) + +-urlsnarf: urlsnarf.o base64.o buf.o pcaputil.o ++urlsnarf: urlsnarf.o base64.o buf.o pcaputil.o libmissing.a + $(CC) $(LDFLAGS) -o $@ urlsnarf.o base64.o buf.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) + +-webmitm: webmitm.o base64.o buf.o decode_http.o record.o ++webmitm: webmitm.o base64.o buf.o decode_http.o record.o libmissing.a + $(CC) $(LDFLAGS) -o $@ webmitm.o base64.o buf.o decode_http.o record.o $(LIBS) $(LNETLIB) $(DBLIB) $(SSLLIB) + +-webspy: webspy.o base64.o buf.o remote.o ++webspy: webspy.o base64.o buf.o remote.o libmissing.a + $(CC) $(LDFLAGS) -o $@ webspy.o base64.o buf.o remote.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) $(X11LIB) + + install: diff --git a/debian/patches/series b/debian/patches/series index 0eff2a5..4fe5646 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -31,3 +31,4 @@ 31_sysconf_clocks.patch 32_rpc_segfault.patch 33_sshcrypto_DES.patch +34_make-sure-libmissing.a-is-built-before-PROGS.patch
pgpKyow4LvRSi.pgp
Description: OpenPGP digital signature