> Hello, i was trying to compile UML on 2.6.14 and 2.6.13.3 on CentOS, but > it seems to be broken smth i dont know exactly what to do. Here is the > output of my problem after make linux ARCH=um : > > > GEN .version > CHK include/linux/compile.h > UPD include/linux/compile.h > CC init/version.o > LD init/built-in.o > LD .tmp_vmlinux1 > /usr/bin/ld: warning: ld-linux-x86-64.so.2, needed by /lib64/libc.so.6, > not found (try using -rpath or -rpath-link) > /lib64/libc.so.6: undefined reference to [EMAIL PROTECTED]' > /lib64/libc.so.6: undefined reference to > [EMAIL PROTECTED]' > /lib64/libc.so.6: undefined reference to [EMAIL PROTECTED]' > /lib64/libc.so.6: undefined reference to [EMAIL PROTECTED]' > /lib64/libc.so.6: undefined reference to [EMAIL PROTECTED]' > /lib64/libc.so.6: undefined reference to [EMAIL PROTECTED]' > /lib64/libc.so.6: undefined reference to [EMAIL PROTECTED]' > collect2: ld returned 1 exit status > KSYM .tmp_kallsyms1.S > nm: '.tmp_vmlinux1': No such file > No valid symbol. > make: *** [.tmp_kallsyms1.S] B³±d 1
I've seen the same problem on PLD, and this patch fixes it for me: diff -ru linux-2.6.14/arch/um/Makefile linux-2.6.15-rc1/arch/um/Makefile --- linux-2.6.14/arch/um/Makefile 2005-11-15 00:01:49.368374600 +0100 +++ linux-2.6.15-rc1/arch/um/Makefile 2005-11-14 23:24:24.355668408 +0100 @@ -107,7 +107,7 @@ prepare: $(ARCH_DIR)/include/kern_constants.h LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static -LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib +LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT CONFIG_KERNEL_STACK_ORDER ?= 2 The problem is that UML assumes that on x86-64, /lib will be a symlink to /lib64. On distros where that isn't the case, the build breaks with the above error (which is a complaint that /lib64/libc.so.6 can't find the 64-bit dynamic library loader, which also lives in /lib64 and not /lib). I'm unaware of a case where /lib64 is not the correct directory to link against on x86-64. Obviously /lib is the right one for x86. In theory the correct fix would be to delete the rpath line entirely and fix whatever's generating arch/um/kernel/vmlinux.lds to do it right for x86-64. But that's way beyond my understanding of the linker... Rob ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_idv28&alloc_id845&op=click _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user