[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Blockers for the emdebian rootfs



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


Reply to: