On Thu, 04 Jun 2009 13:36:58 +0200 Peter Korsgaard <jac...@sunsite.dk> wrote:
> >>>>> "Neil" == Neil Williams <codeh...@debian.org> writes: > > Neil> Package: buildd.emdebian.org > Neil> Severity: important > > Neil> cups now fails to cross-build, even with gccross support. It > Neil> seems to be related to the stack protection that is being > Neil> identified during the cross-build but is not available at link > Neil> time. Build log attached. > > That sounds related to > http://git.buildroot.net/buildroot/tree/package/cups/cups-fix-stack-protector-check.patch Thanks for the hint. I note you found it in 1.3.9 and Debian (therefore Emdebian) would be on 1.3.10 - the gap is because the Emdebian systems are being audited and the autobuilders are not currently running, so the last successful version was 1.3.8. Thing is, 1.3.8 worked, without the patch. AC_TRY_COMPILE(,, OPTIM="$OPTIM -fstack-protector" AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) CFLAGS="$OLDCFLAGS" Same in 1.3.7. Also, the stack protection should have been fixed in gcc-4.3 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469517#24 This, in turn, raises the spectre that patching the m4 test (although it does appear to allow the build to proceed) will merely produce binaries that seg fault on arm or armel. With this change, cups still fails to cross-build, it just fails somewhere else: sfnt.c: In function ‘otf_subset’: sfnt.c:1201: warning: unused variable ‘iB’ make[3]: Leaving directory `/opt/emdebian/trunk/c/cups/trunk/cups-1.3.10/filter/fontembed' Linking texttopdf... fontembed/libfontembed.a: could not read symbols: File format not recognized collect2: ld returned 1 exit status make[2]: *** [texttopdf] Error 1 make[2]: Leaving directory `/opt/emdebian/trunk/c/cups/trunk/cups-1.3.10/filter' make[1]: *** [all] Error 1 make[1]: Leaving directory `/opt/emdebian/trunk/c/cups/trunk/cups-1.3.10' make: *** [debian/stamp-makefile-build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 That, in turn, is because fontembed/ is being built with the native compiler, not the cross-compiler: filter$ file error.o error.o: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped $ file fontembed/dynstring.o fontembed/dynstring.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped So that would never work. PDF filters can be disabled or we'll have to work out how to pass the right CC to the Makefile in the filter directory. > Which is now in upstream svn (http://www.cups.org/str.php?L3198). With the comment: Moving this to CUPS 1.4; don't want to potentially destabilize 1.3.x... :-( -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
pgpVBnSOSYUGD.pgp
Description: PGP signature