bug-hurd
[Top][All Lists]
Advanced

[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)

Hi!

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:

  http://hydra.nixos.org/job/nixpkgs/cross-trunk/crossGNU.mach.hostDrv

> (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
this:

  
https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/os-specific/gnu/mach/default.nix

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

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.

Yes.

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

Thanks,
Ludo’.



reply via email to

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