Hello! First, I didn't read all your Nix / Hydra emails in detail yet, but it's great that you're working on this!
On Wed, May 26, 2010 at 02:07:09PM +0200, Ludovic Courtès wrote: > GNU Mach currently fails to build for me: > > --8<---------------cut here---------------start------------->8--- > i586-pc-gnu-gcc -DHAVE_CONFIG_H -I. -nostdinc -imacros config.h -Ii386 -I. > -I./i386 -I./i386/include/mach/sa -I./include -Wall -fno-strict-aliasing > -fno-stack-protector -g -O2 -c -o vm/memory_object.o vm/memory_object.c > vm/memory_object.c:51:40: fatal error: vm/memory_object_user.user.h: No such > file or directory > --8<---------------cut here---------------end--------------->8--- > > (From <http://hydra.nixos.org/build/424416>.) I broke this down to --disable-dependency-tracking (which you are using) according to some raw log file I looked at. (Where can I see the list of commands you're actually invoking?) I never put any energy on supporting building without dependency tracking, so there. Also, I see --build=i586-pc-gnu --build=x86_64-linux on your configure command line. The latter one wins, I guess. > >From a quick glance, the reason seems to be that MIG-generated stubs are > listed in ‘nodist_libkernel_a_SOURCES’, whereas they should really be > ‘BUILT_SOURCES’, so that they get built before the libkernel.a sources > are compiled. > > I noticed that ‘configure.ac’ reads this: > > --8<---------------cut here---------------start------------->8--- > # See <http://lists.gnu.org/archive/html/automake/2006-05/msg00038.html>. > # > # We don't use `BUILT_SOURCES' (as it was suggested in the follow-up message), > # as we also want things like `make SPECIFIC_TARGET' to work. > --8<---------------cut here---------------end--------------->8--- > > However I don’t see any reason why ‘BUILT_SOURCES’ wouldn’t work here. > What am I missing? As I remember, when designing that build system, the following would not work when the auto-generated stuff was listed in BUILT_SOURCES: ``configure && make gnumach.gz'' (the BUILT_SOURCES files would not be considered (generated) in such a case), whereas it would work with my system. Also, it had / has something to do with having dependency tracking for the #include lines in .defs files. If you say that using BUILT_SOURCES together with ``make SPECIFIC_TARGET'' works these days (including dependency tracking in #included files), then we can (and should) use that instead, of course. Regards, Thomas
signature.asc
Description: Digital signature