[uClibc]compiling and using uClibc-0.9.11 for arm-nommu

Stephan Linz linz at MAZeT.de
Thu May 16 14:26:37 UTC 2002


Hi all,

I'm new at uClibc. Today I started to build a sample application with uClibc 
and uClinux at ARM architecture. So I'm trying to compile the uClibc-0.9.11 
and then linking an application statically with following result:

arm-elf-gcc -Os -g  -Dlinux -D__linux__ -Dunix -D__uClinux__	\
  -DEMBED -I/home/NetARM/uClinux-dist/lib/uClibc/include		\
  -I/home/NetARM/uClinux-dist/lib/libm				\
  -I/home/NetARM/uClinux-dist					\
  -I/home/NetARM/uClinux-dist/linux-2.4.x/include			\
  -fno-builtin -Wl,-elf2flt						\
  -o boa								\
  alias.o auth.o boa.o cgi.o cgi_header.o config.o get.o hash.o log.o	\
  nls.o pipe.o queue.o read.o request.o response.o signals.o		\
  timestamp.o util.o						\
  -lcrypt -lc							\
  -L/home/NetARM/uClinux-dist/lib/uClibc/.			\
  -L/home/NetARM/uClinux-dist/lib/uClibc/lib			\
  -L/home/NetARM/uClinux-dist/lib/uClibc/lib			\
  -L/home/NetARM/uClinux-dist/lib/libnet				\
  -L/home/NetARM/uClinux-dist/lib/libpcap				\
  -L/home/NetARM/uClinux-dist/lib/libssl
boa.elf2flt: In function `__uClibc_main':
boa.elf2flt(.text+0x73ac): undefined reference to `_fini'
boa.elf2flt(.text+0x73b4): undefined reference to `_init'
collect2: ld returned 1 exit status

I think, compiling of uClibc-0.9.11 goes good but linking is wrong. I get the 
same result if I'm trying to enable support for shared libraries. While I'm 
compiling uClibc-0.9.11 I get:

../../extra/gcc-uClibc/arm-uclibc-gcc -Wall -Os  -fstrict-aliasing	\
  -fno-builtin -nostdinc -pipe -nostdinc				\
  -I../../include -I/usr/local/lib/gcc-lib/arm-elf/2.95.3/include I.		\
  -D_LIBC -O2 -g  -fno-builtin -DEMBED				\
  -I/home/NetARM/uClinux-dist/lib/uClibc/include			\
  -I/home/NetARM/uClinux-dist -Dlinux -D__linux__ -D__uClinux__	\
  -Dunix -I/home/NetARM/uClinux-dist/linux-2.4.x/include		\
  -DNDEBUG  -fPIC -D_LIBC_REENTRANT -static		\
  --uclibc-use-build-dir -s -DUCLIBC_TARGET_PREFIX=\"/\"	\
  -DUCLIBC_DEVEL_PREFIX=\"/opt/uClinux/arm-elf\"		\
  -DUCLIBC_BUILD_DIR=\"/home/NetARM/uClinux-dist/uClibc\"	\
  -DUCLIBC_LDSO=\"ld-uClibc.so.0\"				\
  ldd.c -o ldd.target
/home/NetARM/uClinux-dist/uClibc/lib/libc.so: undefined reference to `_init'
/home/NetARM/uClinux-dist/uClibc/lib/libc.so: undefined reference to `_fini'
collect2: ld returned 1 exit status

In both cases the references _init and _fini couldn't found. Why? I don't 
know. Please help me to find my mistake(s). I belief to know uClibc-0.9.9 is 
working correctly.


Thanks,
Stephan

--

======================================================================
Stephan Linz
Software Engineer

MAZeT GmbH                   Email:   mailto:linz at mazet.de
Branche office Jena          Phone:   +49-3641-2809-55
Göschwitzer Straße 32        Fax  :   +49-3641-2809-12
D-07745 JENA
Germany

Visit our web-pages: http://www.MAZeT.de
======================================================================



More information about the uClibc mailing list