On Sat, Jan 30, 2016 at 08:08:09PM +0100, Helmut Grohne wrote: > Out of those 5000 source packages, I selected 3000 popular (as in > popcon) source packages and built them using debomatic (build arch = > amd64, host arch = ppc64el). (Thanks to Luca Falavigna.) About 1000 > builds were successful (which doesn't imply that the resulting packages > actually work.) We can conclude that about 4% of Debian can be cross > built today. > > You can find the build logs at: > http://subdivi.de/~helmut/debomatic-logs/
Thanks for doing this. How frequently will these be updated? It would be nice for people to be able to upload fixes and see the effects. It would also be helpful to publish a dd-list so that maintainers can easily look for their own packages here. > Processing the logs > ------------------- > > I've hacked up a script that guesses failure reasons by scanning the > logs with some regular expressions. Common issues are: > > * (>800) Using the build architecture compiler or linker. Could you help me understand http://subdivi.de/~helmut/debomatic-logs/groff_1.22.3-5_ppc64el.build ? This is reported as "uses build arch compiler", but that is a false positive because groff intentionally does two build passes, one for the host architecture and one for the build architecture, so that it can use its own binaries from the build-architecture pass during a cross-build. The failure is: dh_shlibdeps -a -O--builddirectory=debian/build -O--parallel dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/pic (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/preconv (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/groff (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/troff (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/grotty (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/grops (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/soelim (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/eqn (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: couldn't find library libstdc++.so.6 needed by debian/groff-base/usr/bin/tbl (ELF format: 'elf64-powerpcle'; RPATH: '') dpkg-shlibdeps: error: cannot continue due to the errors listed above Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file. To help dpkg-shlibdeps find private libraries, you might need to use -l. dh_shlibdeps: dpkg-shlibdeps -Tdebian/groff-base.substvars debian/groff-base/usr/bin/grotty debian/groff-base/usr/bin/grops debian/groff-base/usr/bin/eqn debian/groff-base/usr/bin/pic debian/groff-base/usr/bin/preconv debian/groff-base/usr/bin/tbl debian/groff-base/usr/bin/troff debian/groff-base/usr/bin/soelim debian/groff-base/usr/bin/groff returned exit code 2 debian/rules:3: recipe for target 'binary-arch' failed make: *** [binary-arch] Error 2 groff doesn't build-depend on libstdc++-5-dev (which is the correct -dev package for libstdc++.so.6, despite the confusing naming) because it's build-essential, and libstdc++-5-dev-ppc64el-cross is likewise cross-build-essential on ppc64el; I can see it being installed in the build log. So why can't dpkg-shlibdeps find it here? -- Colin Watson [cjwat...@debian.org]