logo       

can't compile usermode-sources 2.6.3-1: msg#00249

Subject: can't compile usermode-sources 2.6.3-1
When I try to compile usermode-sources 2.6.3-r1, Everything compiles fine. I get a vmlinux file. However, The linux executeable won't link. I get the following at the very end of the build process:

gcc -Wl,-T,arch/um/uml.lds.s -static -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc \
       -o linux arch/um/main.o vmlinux -L/usr/lib -lutil
vmlinux(.text+0xce720): In function `strcpy':
lib/string.c:71: multiple definition of `strcpy'
arch/um/kernel/tt/unmap_fin.o(.text+0x416e0): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `strcpy' changed from 33 in arch/um/kernel/tt/unmap_fin.o to 32 in vmlinux
vmlinux(.text+0xce9f0): In function `strrchr':
lib/string.c:266: multiple definition of `strrchr'
arch/um/kernel/tt/unmap_fin.o(.text+0x19830): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `strrchr' changed from 441 in arch/um/kernel/tt/unmap_fin.o to 47 in vmlinux
vmlinux(.text+0xce960): In function `strncmp':
lib/string.c:231: multiple definition of `strncmp'
arch/um/kernel/tt/unmap_fin.o(.text+0x57b0): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `strncmp' changed from 146 in arch/um/kernel/tt/unmap_fin.o to 66 in vmlinux
vmlinux(.text+0xcfaf0): In function `sscanf':
lib/vsprintf.c:752: multiple definition of `sscanf'
arch/um/kernel/tt/unmap_fin.o(.text+0x327b0): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `sscanf' changed from 33 in arch/um/kernel/tt/unmap_fin.o to 35 in vmlinux
vmlinux(.text+0xce930): In function `strcmp':
lib/string.c:211: multiple definition of `strcmp'
arch/um/kernel/tt/unmap_fin.o(.text+0x56d0): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `strcmp' changed from 37 in arch/um/kernel/tt/unmap_fin.o to 39 in vmlinux
vmlinux(.text+0xce9b0): In function `strchr':
lib/string.c:251: multiple definition of `strchr'
arch/um/kernel/tt/unmap_fin.o(.text+0x5560): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `strchr' changed from 359 in arch/um/kernel/tt/unmap_fin.o to 53 in vmlinux
vmlinux(.text+0xceb20): In function `strpbrk':
lib/string.c:382: multiple definition of `strpbrk'
arch/um/kernel/tt/unmap_fin.o(.text+0x34e20): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `strpbrk' changed from 179 in arch/um/kernel/tt/unmap_fin.o to 82 in vmlinux /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: BFD 2.14.90.0.7 20031029 assertion fail elf.c:3460
collect2: ld returned 1 exit status
make: *** [linux] Error 1

I have another couple of machines that can compile the uml kernel fine. They all have glibc 3.2.3-r9, gcc 3.3.2. Two machines have an athlon-xp and are running kernel 2.6.1 with nptl. The other is a pentium 4 with a 2.4 kernel. The pentium and one of the athlon's compile fine. The other athlon gets the above errors. I also tried downloading uml for 2.6.0/1 and this machine got the same error when trying to compile those versions as well. So I'm pretty sure there is something quirky with this machine's installation. I have not noticed any other problems with building anything on this machine though, so I think it is uml specific too.

I found a reference to this error from way back in 2000 ( http://www.geocrawler.com/mail/msg.php3?msg_id=4803654&list=597 ) on a previous kernel and a previous version of gcc. The fix then was to remove -pg from the build options for unmap_fin.c. I tried that and rebuilt- but I still got the same error.

Any suggestions where to go from here? Thanks for any feedback. I've been stumped on this for a while.

-Dennis


--
gentoo-user@xxxxxxxxxx mailing list




<Prev in Thread] Current Thread [Next in Thread>