[maemo-developers] Help getting round compiler a error (compiling CLN)

From: vahakang at cs.helsinki.fi vahakang at cs.helsinki.fi
Date: Tue Nov 13 14:41:28 EET 2007

On 11/13/2007, "rael at edge.ping.de" <rael at edge.ping.de> wrote:
> Hello! 
> 
> > .libs/libcln.so.4.0.2
> > .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
> > .libs/cl_RA_ring.o: In function `cln::zerop(cln::cl_RA
> > const&)':cl_RA_ring.cc:(.text._ZN3cln5zeropERKNS_5cl_RAE[cln::zerop(cln::cl_RA
> > const&)]+0x0): multiple definition of `cln::zerop(cln::cl_RA const&)'
> > .libs/cl_RA_zerop.o:cl_RA_zerop.cc:(.text+0x0): first defined here
> > .libs/cl_R_signum.o: In function `cln::signum(cln::cl_I
> > const&)':cl_R_signum.cc:(.text._ZN3cln6signumERKNS_4cl_IE[cln::signum(cln::cl_I const&)]+0x0): multiple definition of 
> > `cln::signum(cln::cl_I
> > const&)'
> > .libs/cl_I_signum.o:cl_I_signum.cc:(.text+0x0): first defined here
> > collect2: ld returned 1 exit status
> > make[2]: *** [libcln.la] Error 1
> > make[2]: Leaving directory `/home/simon/build/qcalculate/cln-1.1.13.orig/src'
> > make[1]: *** [all] Error 2
> > make[1]: Leaving directory `/home/simon/build/qcalculate/cln-1.1.13.orig'
> > make: *** [build] Error 2
> 
> Duplicate symbols during linking is normally cause by having code/functions 
> with the same name in to different object files. This could again be caused 
> in general having problems with code in headers or wrong includes, like for 
> example having functions in headers that are not marked as inline or using 
> defines that contain whole functions or similar... 
> 
> I suggest to search (grep) for the named symbols in the header files of the 
> cod efirst and see if there is something suspicios. Of course it can also be 
> possible to have the function implemented in two source modules. 
> 
> One would have to look at the source code to give better answers ;-) (and 
> I'm at work). 
> 

If that fails, see that the Makefile does not list any object file more
than once per link target ... had that happen once, too, and it took
quite a long time figure out, because the Makefile was generated by
autotools (or more specifically configure).

Cheers,

  Taneli



More information about the maemo-developers mailing list