This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

glibc port to non-linux platform



This question concerns porting glibc to a non-linux x86_64 target.
Some time ago we successfully ported a static version of glibc (2.3.2) to this target. We are now trying to build the same version shared and are running into some issues that we hope someone can shed some light on.


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


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.

Further my guess is that in our port much more will be required of the build at this stage since it will not be found elsewhere in the target environment. This is further evidenced by the librtld.map file differences between the standard Linux build and our target build. Our target build containing many more symbol references which leads to the larger number of subdirs in the librtld.mk file.

First any advice on the best way to proceed would be helpful. I can try to hack the build process to try and make it through all of the subdir builds but it would help if I knew why the rtld-Rules file contains this protection.

Jim

--

James H. Laros III                Phone: 505-845-8532
Dept. 1422                        email: jhlaros@sandia.gov
Scalable Computer Architectures
Sandia National Labs

"The history of liberty is a history of the limitations of
governmental power, not the increase of it." - Wilson


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]