Hi list,I tried building linuxboot from SVN, and "make iso" stops during glibc build, because TLS support is "missing". Here's some relevant info from config.log:
configure:7: checking for i386 TLS support configure:29: gcc -c -g -O2 conftest.s 1>&5 conftest.s: Assembler messages:conftest.s:8: Error: @TLSLDM reloc is not supported with 64-bit output format
conftest.s:8: Error: junk `...@tlsldm' after expressionconftest.s:9: Error: relocated field and relocation type differ in signedness conftest.s:10: Error: relocated field and relocation type differ in signedness conftest.s:11: Error: relocated field and relocation type differ in signedness conftest.s:12: Error: @GOTNTPOFF reloc is not supported with 64-bit output format
conftest.s:12: Error: junk `...@gotntpoff' after expressionconftest.s:14: Error: @NTPOFF reloc is not supported with 64-bit output format
conftest.s:14: Error: junk `...@ntpoff' after expression configure:32: $? = 1 configure:40: result: noThe only thing I could find on Google referencing this error is: http://bugs.gentoo.org/show_bug.cgi?id=266172 ... Which doesn't help me at all. The suggestion is to update to glibc 2.9 and we already use 2.11.1.
This is my build system: uname -aLinux cn212570 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:28:05 UTC 2010 x86_64 GNU/Linux
Seems like a cross-compiling problem! According to [1] "If you specify just ‘--build’, |configure| will get confused." So I changed it to use --host in the Makefile. To cross-compile gclibc properly, the -m32 argument must be passed to gcc. After that, I hit another problem [2]. Finally, I came up with the attached patch. (Yeah, it's ugly ... I tried setting those options in CFLAGS and CXXFLAGS where they belong, but it doesn't work ... ?!)
I'm curious what else needs some similar cross-compiler fixes to get linuxboot to build properly?
Finally, I tried the linuxboot-4.9 iso from SF. The kernel won't boot from the CD on a Dell Inspiron 400 (Zino HD); it says "cannot find `image`" or some similar error. That's why I was trying to build my own. ;(
[1] http://www.gnu.org/s/libc/manual/html_node/Configuring-and-compiling.html
[2] http://ubuntuforums.org/showthread.php?t=1001811
diff --git a/trunk/linuxboot/Makefile b/trunk/linuxboot/Makefile --- a/trunk/linuxboot/Makefile +++ b/trunk/linuxboot/Makefile @@ -306,25 +306,26 @@ stage1 += stage1/lib/libuuid.so touch $@ ## glibc # Configure switches cheerfully stolen from LFS project # (http://www.linuxfromscratch.org/lfs/view/development/chapter05/glibc.html). build-$(glibc)/libc.so: $(linux)/arch/x86/boot/bzImage \ $(glibc)/.stamp-glibc-gen-translit.pl-patch mkdir -p build-$(glibc) - cd build-$(glibc) && CC=$(CC) $(cwd)/$(glibc)/configure \ + cd build-$(glibc) && CC="$(CC) -m32 -O2 -U_FORTIFY_SOURCE -fno-stack-protector" \ + $(cwd)/$(glibc)/configure \ --prefix=/usr \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.18 \ --without-gd --without-cvs \ --without-selinux \ --includedir=$(cwd)/$(linux)/dest/include \ --with-headers=$(cwd)/$(linux)/dest/include \ - --build=i586-linux \ + --host=i586-linux \ && find . -name \*.d -print0 | xargs -0 -r rm -f \ && $(MAKE) touch -c $@ $(call copy_lib, build-$(glibc)/libc.so, stage1/lib/libc.so) # "Fake" library to link against $(call copy_file, build-$(glibc)/libc_nonshared.a, \
<<attachment: jason_oster.vcf>>
------------------------------------------------------------------------------
_______________________________________________ unattended-devel mailing list unattended-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/unattended-devel