[Pkg-samba-maint] Bug#668418: FTBFS on i386

sacrificial-spam-address at horizon.com sacrificial-spam-address at horizon.com
Wed Apr 11 18:08:21 UTC 2012


Package: samba
Version: 2:3.6.3-2

I disabled the office samba servers last night after hearing about
CVE-2012-1182 (Bug#668309), and I expected to see a fixed binary make
its way through security.debian.org sometime this morning.

But fixed binaries don't seem to be forthcoming, so I decided to build my own.
I used

$ wget https://www.samba.org/samba/ftp/patches/security/samba-3.6.3-CVE-2012-1182.patch
$ apt-get source samba
$ cd samba-3.6.3
$ QUILT_PATCHES=debian/patches quilt import ../samba-3.6.3-CVE-2012-1182.patch
$ QUILT_PATCHES=debian/patches quilt push
$ vi debian/changelog	# Add a local version 2:3.6.4-0
$ debuild -uc -us -b

Now, on an amd64 machine, this worked fine.

But on an i386 machine (64-bit kernel, but 32-bit userland), the build failed:

	[... snip beginning ...]
Compiling printing/tests/vlp.c
printing/tests/vlp.c: In function 'set_printer_status':
printing/tests/vlp.c:114:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]
Linking bin/vlp
make -f Makefile-smbtorture4 bin/smbtorture4
make[3]: Entering directory `$DIR/samba-3.6.3/source3'
Waf: Entering directory `$DIR/samba-3.6.3/bin'
input file '../heimdal/lib/wind/rfc3454.txt' could not be found ('$DIR/samba-3.6.3/source4/heimdal_build')
Checking for program gcc or cc           : /usr/bin/gcc 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for gcc                         : ok  
Checking for program git                 : /usr/bin/git 
	[...snippage...]
Checking linker accepts -Wl,-no-undefined                                                       : yes 
Checking linker accepts -Wl,--as-needed                                                         : yes 
Checking for -lc not needed                                                                     : ok  
'configure' finished successfully (37.278s)
cd .. && WAF_MAKE=1 buildtools/bin/waf --targets=smbtorture
Waf: Entering directory `$DIR/samba-3.6.3/bin'
Waf: Leaving directory `$DIR/samba-3.6.3/bin'
input file '../heimdal/lib/wind/rfc3454.txt' could not be found ('$DIR/samba-3.6.3/source4/heimdal_build')
make[3]: *** [bin/smbtorture4] Error 1
make[3]: Leaving directory `$DIR/samba-3.6.3/source3'
make[2]: *** [bin/smbtorture4] Error 2
make[2]: Leaving directory `$DIR/samba-3.6.3/source3'
dh_auto_build: make -j1 everything nsswitch returned exit code 2
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory `$DIR/samba-3.6.3'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1350:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed

Strange.  I searched through the bug report archives to find out why
that file wasn't included, and decided the easy workaround would be to
install it.  Easily enough done.  Then I try again:

	[... snip beginning ...]
Compiling printing/tests/vlp.c
printing/tests/vlp.c: In function 'set_printer_status':
printing/tests/vlp.c:114:6: warning: variable 'result' set but not used [-Wunused-but-set-variable]
Linking bin/vlp
make -f Makefile-smbtorture4 bin/smbtorture4
make[3]: Entering directory `$DIR/samba-3.6.3/source3'
Waf: Entering directory `$DIR/samba-3.6.3/bin'
'reconfigure' finished successfully (2.879s)
cd .. && WAF_MAKE=1 buildtools/bin/waf --targets=smbtorture
Waf: Entering directory `$DIR/samba-3.6.3/bin'
[  69/2412] Generating VERSION
[2229/2412] Linking default/lib/tdb/pytdb.so
/usr/lib/gcc/i486-linux-gnu/4.7/../../../i386-linux-gnu/Scrt1.o(.text+0x28): error: undefined reference to 'main'
collect2: error: ld returned 1 exit status
Waf: Leaving directory `$DIR/samba-3.6.3/bin'
Build failed:  -> task failed (err #1): 
	{task: cc_link pytdb_1.o -> pytdb.so}
make[3]: *** [bin/smbtorture4] Error 1
make[3]: Leaving directory `$DIR/samba-3.6.3/source3'
make[2]: *** [bin/smbtorture4] Error 2
make[2]: Leaving directory `$DIR/samba-3.6.3/source3'
dh_auto_build: make -j1 everything nsswitch returned exit code 2
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory `$DIR/samba-3.6.3'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1350:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed


This is getting annoying, and wading through three layers of build
system (debian/rules invokes a Makefile invokes waf) looks to be very
time-consuming.

I don't mean to delay the critical security fix in any way, but maybe
this could be looked at afterward.  It's preventing me from applying the
fix myself, which is preventing UPS labels from being printed, which is
causing problems.

(There are workarounds, such as connecting a printer via USB, but it's
all pretty annoying.)

Thank you!





More information about the Pkg-samba-maint mailing list