.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