On Fri, Apr 08, 2011 at 10:10:19PM +1000, Allan McRae wrote: > On 08/04/11 21:57, Mathew de Detrich wrote: > >A problem that seems to be occurring on packages (typically on AUR) where > >makepkg using gnu's strip causes the package building process to fail (since > >/usr/bin/strip terminates with a different error message) when there is an > >incompatible object file in the source. As an example with this current > >package (read the latest comments) > >https://aur.archlinux.org/packages.php?ID=31566 > > > >It fails to build unless you add > >options=(!strip) > >into the PKGBUILD, which of course solves the problem in a bastardized way > >since it doesn't strip anything at all (and causes ridiculously bloated > >packages) > > > >In this case the problem seems to be that the source package contains an > >object file from a different architecture (x64) which when stripped, causes > >the strip to prematurely terminate (and thus the building of the package to > >fail) > > > >I looked through the man page for strip and there doesn't seem to be an > >option for it to continue stripping even if it hits an incompatible source > >file. The other option I guess would be to add more granularity (or another > >option) where you can provide a mask for objects not to be stripped (so you > >can do something like *64.so and any file matching that mask wont be > >stripped). Or you could manually invoke strip on every object file, and not > >terminate the makepkg process should it hit an "incompatible" object file > > > >In any case its an annoyance > > > > I can not be sure given no-one who hits this issue ever posts any > actual output... but you are probably hitting this binutils issue: > http://sourceware.org/bugzilla/show_bug.cgi?id=12632 > > > But anyway, it appears the change from using a whitelist to choose > what files to strip to attempting to strip everything has caused > some packaging issues. So I also think some way to blacklist > files/folders from being stripped would be useful. > > Allan >
I think this is just a matter of strip encountering files that aren't of the architecture of the current system. qemu is a good example of where this fails: /usr/bin/strip: Unable to recognise the format of the input file `./usr/share/qemu/openbios-sparc32' and file reports this as... pkg/usr/share/qemu/openbios-sparc32: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped These are files that are shipped precompiled and prestripped. dave
