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.