[Top][All Lists]

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

Re: GNU Mach: MIG stubs not generated

From: Ludovic Courtès
Subject: Re: GNU Mach: MIG stubs not generated
Date: Wed, 26 May 2010 23:35:51 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)


Thomas Schwinge <thomas@schwinge.name> writes:

> 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.

Indeed.  Enabling dependency tracking fixes the problem:


> (Where can I see the list of commands you're actually invoking?)

You can’t.  :-)

The whole build recipe is in files written in the Nix language like


However these few lines translate into long shell scripts as you can

In times of troubles we can still use ‘set -x’, though.

> 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.

I gave it a try but gave up before reaching the point where I could
conclude about this specific point.  It’s good enough I guess.  :-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]