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

Simon Pickering S.G.Pickering at bath.ac.uk
Wed Feb 28 15:50:03 CET 2007


 
> > .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.

Okay.

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

I tried --disable-shared, and it will then compile the static library. But this
doesn't really solve things for me as then the problem just occurs in whatever I
want to link with the cln static library (in this case Qalculate!).

> - Try a newer compiler, such as gcc-4.1.2?

I will do this once there's one available that targets the Nokia N800.

Thanks,


Simon



More information about the CLN-list mailing list