Multiple definition of __libc_multiple_libcs

P. J. McDermott
Sun Apr 22 03:19:00 GMT 2012


Trying to cross build EGLIBC 2.15 for the ARM Cortex-A8 (ARMv7-A) using
GCC 4.6.2 and Binutils 2.22, I get the following error:

  arm-cortex_a8-linux-gnueabi-gcc   -nostdlib -nostartfiles -r -o <build
  >/elf/ '-Wl,-(' <build>/elf/dl-allobjs.os <build>/libc_pi
  c.a -lgcc '-Wl,-)' -Wl,-Map,<build>/elf/librtld.mapT
  <build>/libc_pic.a(init-first.os):(.data+0x0): multiple definition of
  <build>/elf/dl-allobjs.os:(.bss+0x9c): first defined here
  collect2: ld returned 1 exit status

"<build>" is the path to the directory in which I tried to build EGLIBC.
I can provide a full log if it helps.

A Web search found one relevant thread [1], and I found the mentioned
definitions of __libc_multiple_libcs in EGLIBC 2.15, but I'm not sure
how to proceed.  Can anyone help me understand the cause of this error?
Why is init-first.os being linked in here?

Configuration and build procedure:

Toolchain components:
Binutils     2.22
GMP          5.0.2
MPFR         3.1.0
MPC          0.9
GCC          4.6.2
EGLIBC       2.15
Linux-libre  3.2.7

Build system:
Debian GNU/Linux wheezy
Binutils     2.22
GCC          4.6.3
EGLIBC       2.13
Linux        3.2.0


P. J. McDermott            (_/@\_)    ,--.      o    < o o >   / oo \
                                                    o   \ `-/    | <> |.
                                                o o o    "~v    /_\--/_/

More information about the Libc-help mailing list