Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics

g++ link undefined references error?

g++ link undefined references error?
Charles Bradshaw 2012/09/29 00:03
Building occ undet Fedora 17

Does anybody know why this make error occurs:

/home/brad/work/occ/adm/make/TKService/.libs/ undefined reference to `fipImage::getScanLine(unsigned int) const'
/home/brad/work/occ/adm/make/TKService/.libs/ undefined reference to `fipImage::fipImage(FREE_IMAGE_TYPE, unsigned int, unsigned int, unsigned int)'

The errant g++ line is:

g++ -DCSFDB -DOCC_CONVERT_SIGNALS -DLIN -DLININTEL -D_GNU_SOURCE=1 -O2 -o .libs/DRAWEXE DRAWEXE.o -lstdc++ ../TKDraw/.libs/ -L/usr/lib /home/brad/work/occ/adm/make/TKMesh/.libs/ /home/brad/work/occ/adm/make/TKService/.libs/ /home/brad/work/occ/adm/make/TKHLR/.libs/ ../TKMesh/.libs/ ../TKTopAlgo/.libs/ ../TKHLR/.libs/ /home/brad/work/occ/adm/make/TKTopAlgo/.libs/ /home/brad/work/occ/adm/make/TKGeomAlgo/.libs/ ../TKGeomAlgo/.libs/ /home/brad/work/occ/adm/make/TKBRep/.libs/ ../TKGeomBase/.libs/ ../TKG2d/.libs/ ../TKBRep/.libs/ /home/brad/work/occ/adm/make/TKGeomBase/.libs/ /home/brad/work/occ/adm/make/TKG3d/.libs/ ../TKMath/.libs/ ../TKG3d/.libs/ /home/brad/work/occ/adm/make/TKG2d/.libs/ ../TKernel/.libs/ ../TKService/.libs/ /home/brad/work/occ/adm/make/TKMath/.libs/ /home/brad/work/occ/adm/make/TKernel/.libs/ -lrt -ltcl8.5 -ltk8.5 -ltbb -ltbbmalloc -lXt -lX11 -lXmu -lfreeimageplus -ldl -lpthread -Wl,-rpath -Wl,/home/brad/lib

In which -lfreeimage occours after

Both fipImage::getScanLine and fipImage::fipImage are present in /usr/lib/

$ nm -D /usr/lib/
00005490 T _ZNK8fipImage11getScanLineEt
00004bf0 T _ZN8fipImageD1Ev

The symbols are both correctly flagged U in, although I am unclear as to how is compiled and linked!

Changing the g++ line to specifically link using /usr/lib/ in place of -lfreeimage produces the identical error.

I'm completely baffled! Can suggest a solution?
Charles Bradshaw 2012/09/29 00:20
I've just discovered the -C switch to nm with the result that:

$ nm -DC /usr/lib/ | grep getScanLine
00005490 T fipImage::getScanLine(unsigned short) const

$ [brad@p2800 lib]$ nm -DC /usr/lib/ | grep fipImage::fipImage
00004d60 T fipImage::fipImage(FREE_IMAGE_TYPE, unsigned short, unsigned short, unsigned short)

In which I note that unsigned short is specified whereas unsigned int is required.

Is this the problem? If so where is the source for TKService so I can patch it?

Latest news
  • OCCT Applications
  • Open CASCADE Technology 6.8.0 is available for download!
  • New features to enhance the development process

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map