This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
Linking error with libc.so.6 of the ARM toolchain
- From: Chen Zhigao <banyan8 at yahoo dot com dot sg>
- To: glibc-bugs at sources dot redhat dot com
- Date: 22 Aug 2005 20:38:28 +0800
- Subject: Linking error with libc.so.6 of the ARM toolchain
- Organization:
Dear all,
I am trying to build an application for uClinux on XScale and I am able
to compile my project code. However, I encounter a linking error by
using the ARM big-endian toolchain arm-linux-20030211.tar.gz, which is
recommended for uClinux/Xscale and downloaded from
http://prdownloads.sourceforge.net/ixp4xx-osdg/arm-linux-20030211.tar.gz?download. My development host is x86.
Below are the build log and error message.
arm-linux-gcc -g -D_LINUX -D_ARM32 -Wall -I../../include
-I../../platform -I../../samples/common
-I/home/banyan/uClinux/uClinux-dist/linux-2.4.x/include -c XMLtvDB.c -o
obj/XMLtvDB.o
arm-linux-gcc -g -D_LINUX -D_ARM32 -Wall -I../../include
-I../../platform -I../../samples/common
-I/home/banyan/uClinux/uClinux-dist/linux-2.4.x/include -c
../../platform/platform.c -o obj/platform.o
arm-linux-gcc -g -D_LINUX -D_ARM32 -Wall -I../../include
-I../../platform -I../../samples/common
-I/home/banyan/uClinux/uClinux-dist/linux-2.4.x/include -c dbaccess.c -o
obj/dbaccess.o
arm-linux-gcc -g -D_LINUX -D_ARM32 -Wall -I../../include
-I../../platform -I../../samples/common
-I/home/banyan/uClinux/uClinux-dist/linux-2.4.x/include -c genhtml.c -o
obj/genhtml.o
arm-linux-gcc -g -D_LINUX -D_ARM32 -Wall -I../../include
-I../../platform -I../../samples/common
-I/home/banyan/uClinux/uClinux-dist/linux-2.4.x/include -c proginfo.c -o
obj/proginfo.o
arm-linux-gcc -g \
obj/XMLtvDB.o obj/platform.o obj/dbaccess.o obj/genhtml.o
obj/proginfo.o -lmcoxml -L../../target/bin -lmcolib \
-o ../../target/bin/proginfo
/usr/local/arm-linux/lib/libc.so.6: could not read symbols: Invalid
operation
collect2: ld returned 1 exit status
make: *** [../../target/bin/proginfo] Error 1
The "arm-linux-gcc" & libc.so.6 are part of the toolchain I use. I run
"ldconfig" after adding "/usr/local/arm-linux/lib" to the
/etc/ld.so.conf file. The ldconfig complains that a lot of .so libraries
are not a shared object file (Type: 768).
Someone on the web said the error is because the toolchain is for
big-endian. So I switch to use the arm-elf toolchain from uclinux.org.
Although the ldconfig no longer complains the error, I got some
compilation errors instead. The error says the complier can not find
some of my structure definitions, which are actually defined in the my
header files.
What's the real cause of the linking error? Any pointer is highly
appreciated.
Best regards,
Zhigao