[CLN-list] Multiple definition errors when natively compiling CLN 1.1.13 with GCC 3.4 for ARM target

Bruno Haible bruno at clisp.org
Wed Feb 28 13:32:35 CET 2007


Simon Pickering wrote:

> .libs/cl_I_ring.o: In function `cln::zerop(cln::cl_I 
> const&)':cl_I_ring.cc:(.text._ZN3cln5zeropERKNS_4cl_IE[cln::zerop(cln::cl_I 
> const&)]+0x0): multiple definition of `cln::zerop(cln::cl_I const&)'
> .libs/cl_I_zerop.o:cl_I_zerop.cc:(.text+0x0): first defined here

That looks like a compiler bug. The C++ rules for 'inline' are summarized in
[1], and the code in include/cln/integer.h and src/integer/cl_I.h follows
these rules.

> Is there any way around this problem? Any other -finline*/--param 
> options I could try, etc., or any other ideas?

- Specify --disable-shared?
- Try a newer compiler, such as gcc-4.1.2?

Bruno


[1] http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00055.html



More information about the CLN-list mailing list