I've been playing with the Balloon3 board that Wookey kindly donated to me in order to get a usable rootfs for Emdebian. Quite a few problems have been fixed and the updated packages will be uploaded soon - all the revised patches are in Emdebian SVN so 'emsource -c' should be OK. If you are using emdebian-tools 0.3.9, there is a new 'emsource -b PACKAGE' option which will clean your existing emsource directory, update the patches to SVN and proceed directly into an automated build. One step closer to an autobuilder. Main fixes: busybox - the '/bin/busybox --install' command is buggy and puts the hardlinks in the wrong place. Patches in SVN add an upstream install script to the busybox package which 'emsandbox' should be able to use. busybox also provides 'coreutils' and conflicts with 'coreutils'. dpkg - removed from Essential, Pre-Depends on busybox | coreutils coreutils - removed from Essential. (all those to ensure that apt stops trying to remove busybox in favour of coreutils every time my back is turned!) :-) glibc, debian-archive-keyring, apt, apt-utils, dpkg, busybox, libdebian-installer, cdebconf, libselinux1 and libsepol1 all build correctly. Uploads are waiting for the dpkg changes this weekend. The remaining blockers are: 1. gnupg - needed for proper use of debian-archive-keyring and apt (currently, apt simply ignores apt-key in the postinst and complains about being unable to verify signatures on the Release files). We can get around that, mostly. I'm stumped on this one - I can't see why it is failing - same error everytime no matter what I do in the tools or the patches. First problem is that despite the cache file, gnupg still reports: configure: WARNING: cross compiling; assuming big endianess checking endianess... big then it complains: configure: WARNING: sys/stat.h: present but cannot be compiled configure: WARNING: sys/ipc.h: present but cannot be compiled configure: WARNING: sys/shm.h: present but cannot be compiled configure: WARNING: zlib.h: present but cannot be compiled This despite: libc6-dev-arm-cross: /usr/arm-linux-gnu/include/sys/stat.h and zlib1g-dev-arm-cross: /usr/arm-linux-gnu/include/zlib.h Final failure is: if arm-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../util -I.. -I.. -I../../include -I../../intl -g -O2 -Wall -Wno-pointer-sign -MT logger.o -MD -MP -MF ".deps/logger.Tpo" -c -o logger.o ../../util/logger.c; \ then mv -f ".deps/logger.Tpo" ".deps/logger.Po"; else rm -f ".deps/logger.Tpo"; exit 1; fi In file included from /usr/arm-linux-gnu/include/stdlib.h:438, from ../../util/logger.c:24: /usr/arm-linux-gnu/include/sys/types.h:72: error: two or more data types in declaration specifiers make[3]: *** [logger.o] Error 1 This one has baffled me for getting on for EIGHT MONTHS now and I'm getting nowhere nearer. Help? Other cross-building toolchains can build gnupg. http://www.openembedded.org/filebrowser/org.openembedded.dev/packages/gnupg (none of the patches there seem to help the Debian package.) :-( 2. The remainder of the dpkg transition - hopefully completed with experimental support this weekend. 3. gcc-4.2 - AGAIN. :-( libgomp fails. Adding multilib support to Makefile in ../../../src/libgomp multidirs= with_multisubdir= config.status: executing depfiles commands config.status: executing gstdint.h commands make[4]: Entering directory `/trunk/g/gcc-4.2/trunk/gcc-4.2-4.2.2/build/arm-linux-gnu/libgomp' /usr/bin/make all-recursive make[5]: Entering directory `/trunk/g/gcc-4.2/trunk/gcc-4.2-4.2.2/build/arm-linux-gnu/libgomp' Making all in testsuite make[6]: Entering directory `/trunk/g/gcc-4.2/trunk/gcc-4.2-4.2.2/build/arm-linux-gnu/libgomp/testsuite' make[6]: Nothing to be done for `all'. make[6]: Leaving directory `/trunk/g/gcc-4.2/trunk/gcc-4.2-4.2.2/build/arm-linux-gnu/libgomp/testsuite' make[6]: Entering directory `/trunk/g/gcc-4.2/trunk/gcc-4.2-4.2.2/build/arm-linux-gnu/libgomp' cp libgomp-4.2.info libgomp.info cp: cannot stat `libgomp-4.2.info': No such file or directory make[6]: *** [libgomp.info] Error 1 make[6]: Leaving directory `/trunk/g/gcc-4.2/trunk/gcc-4.2-4.2.2/build/arm-linux-gnu/libgomp' make[5]: *** [all-recursive] Error 1 I've got a build log if anyone is able to look into this. I've tried to disable libgomp but this time, it stubbornly refuses to get past this point (about 22minutes into the build). I can't see that it should be running the testsuite at all, myself. This failure means that libgcc1 and libstdc++6 have to be installed from Debian as native packages. I also need to work out why the latest gcc-4.2 has reintroduced a dependency on gcc-4.2-base which I thought we had ditched at DebConf. gcc-4.2-base has nothing useful to an embedded device, it's pointless letting gcc insist on it. The rootfs will be larger than I first expected but still a lot smaller than a typical Debian debootstrap. With the above provisos, I should have an automated debootstrap script next week. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgp8VhQID5rt1.pgp
Description: PGP signature