This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: glibc port to non-linux platform
- From: "Carlos O'Donell" <carlos at systemhalted dot org>
- To: jhlaros at sandia dot gov
- Cc: libc-help at sourceware dot org
- Date: Thu, 23 Oct 2008 08:59:31 -0400
- Subject: Re: glibc port to non-linux platform
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=GNKH6EWOa1AuNnCH1hJQisKQk5mcC+S3mNPTGgeYcUw=; b=PRx9kPmi/d8LQHMvawcQjAqZ8NC+ffN+932uUHr6o2OWZ/rCc3Wih0i3BtaK4RzjIS +iG5XOIWUkjldKnvnxcNHfw8if1i/Ts7eqy7I8/lkJOQoFJ7UcFewczV31vD9xgiz9m2 avu0hIJ+oXFo4bvlijcJNTjiZenrK4AUkmfvk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=JxetzTkJMzae7i8sqRbG4dQGEF+qtul1az8s7bQ/AXO6oYvyKuUAYXIRb6ntGa76/F GQUWbCq4K5DaAodbinM2284hbdNu3esLA2cIj0kgz25PxFk9wOK7uV+9HOG8YdYrjgEE mNQBQZgnK1Zt1bvYmIa+GmPVak7+6iectknIY=
- References: <48FFB354.9030007@sandia.gov>
On Wed, Oct 22, 2008 at 7:12 PM, James Laros <jhlaros@sandia.gov> wrote:
> The build fails with the following error:
> make[5]: Leaving directory
> `/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/ctype'
> make -C ../elf
> objdir=/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/build/cnos64
> -f Makefile -f ../elf/rtld-Rules rtld-all rtld-modules='rtld-dl-profstub.os
> rtld-dl-libc.os rtld-dl-open.os rtld-dl-close.os'
> make[5]: Entering directory
> `/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/elf'
> ../elf/rtld-Rules:34: *** missing separator. Stop.
> make[4]: ***
> [/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/build/cnos64/elf/rtld-dl-profstub.os]
> Error 2
> make[3]: ***
> [/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/build/cnos64/elf/rtld-libc.a]
> Error 2
> make[2]: *** [elf/subdir_lib] Error 2
> make[1]: *** [install] Error 2
> make: *** [glibc_for_catamount_apps] Error 2
> make[5]: Leaving directory
> `/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/elf'
> make[4]: Leaving directory
> `/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/elf'
> make[3]: Leaving directory
> `/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc/elf'
> make[2]: Leaving directory
> `/rsc/home/jhlaros/CNW_SVN_glibc/trunk/pe/computelibs/glibc'
>
>
> My understanding is this happens because at this point the build should not
> descend into the subdir elf as evidenced by this in elf/rtld-Rules file
> lines:
>
> ifndef rtld-subdirs
> error This is makefile is a subroutine of elf/Makefile not to be used
> directly
> endif
This rule guards against rtld-Rules being used by any other Makefile
from any other directory. Only elf/Makefile may use elf/rtld-Rules.
This rule is not your problem.
> My guess is that in a typical environment the build will not attempt to
> enter elf. I have built for a Linux client as a sanity check and in fact the
> rtld-subdirs at the bottom of build/elf/librtld.mk does not include elf.
Almost. You are already in elf/, and you re-running a build on a
subset of the top-level directories (rtld-subdirs) to build the object
files you need. If elf appears in rtld-subdirs then the rebuild would
recurse forever. You need to figure out why the rule
$(objpfx)librtld.mk: in elf/Makefile is adding elf to the rtld-subdirs
variable.
e.g.
Why is this:
echo rtld-subdirs = `LC_ALL=C sed 's/^rtld-\([^ ]*\).*$$/\1/' $@T \
| LC_ALL=C sort -u` >> $@T
adding elf to your list of directories.
Cheers,
Carlos.