Hi,
I've encountered a couple of problems trying to build insight3dng on Ubuntu 12.04.
Firstly, running make stopped with the following errors at the final link step:
/usr/bin/ld: /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libgtk-x11-2.0.so: undefined reference to symbol 'gdk_screen_get_width'
/usr/bin/ld: note: 'gdk_screen_get_width' is defined in DSO /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libgdk-x11-2.0.so so try adding it to the linker command line
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libgdk-x11-2.0.so: could not read symbols: Invalid operation
From googling this, it seems that there's been a change to ld, and the fix is to explicitly link with all the libraries needed.
So, I've added -lgdk-x11-2.0
I then get a slew of undefined symbol errors from the sba library:
./sba/libsba.a(sba_lapack.o): In function `sba_Axb_QR':
sba_lapack.c:(.text+0x248): undefined reference to `dgeqrf_'
sba_lapack.c:(.text+0x36f): undefined reference to `dorgqr_'
....
....
However, sba does come with its own demo program, which DOES link. The sba demo makefile seems
to include its libraries in a different order. Tweaking the insight3dng Makefile to use this seems to fix it.
So, my working link line is:
g++ $(DEBUG) -o insight3d *.o `pkg-config --libs opencv libxml-2.0 sdl gtk+-2.0` ./sift/lib/libfeat.a $(AGARLIB) ./sba/libsba.a -llapack -lblas -lGL -lGLU -lgdk-x11-2.0 ./ann_1.1.1/lib/libANN.a
It might be worth fixing the Makefile.
Thanks,
Alun.
Had similar problems on Ubuntu 13.10. Had to compile at end adding -lpthread