2017-02-20 15:39 GMT-03:00 Rodrigo Severo <rodrigo@fabricadeideias.com>:
I'm trying to compile Therion (sources from github) on Ubuntu 16.04 for the first time.
After installing several missing libraries I'm getting the following error:
make[1]: Entering directory '/home/rodrigo/devel/therion/loch' c++ -o ./loch -Wall ./lxR2P.o ./lxTR.o ./lxOGLFT.o ./lxSetup.o ./lxRender.o ./lxWX.o ./lxImgIO.o ./lxLRUD.o ./lxFile.o ./lxSTree.o ./lxData.o ./lxMath.o ./lxSView.o ./lxSScene.o ./lxGUI.o ./lxGLC.o ./lxOptDlg.o ./lxAboutDlg.o ./lxPres.o ./img.o -lwx_gtk2u_gl-3.0 -L/usr/lib/x86_64-linux-gnu -pthread -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_qa-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu_net-3.0 -lwx_baseu-3.0 -L/usr/lib/vtk-5.10 -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -lvtkCommon -lfreetype -lGLU -lGL -lpthread -lX11 -lz -s /usr/bin/ld: ./lxRender.o: undefined reference to symbol 'png_write_row@ @PNG12_0' //lib/x86_64-linux-gnu/libpng12.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:162: recipe for target 'loch' failed make[1]: *** [loch] Error 1 make[1]: Leaving directory '/home/rodrigo/devel/therion/loch' Makefile:202: recipe for target 'loch/loch' failed make: *** [loch/loch] Error 2
The problem here is that libpng12.0-dev is already installed.
After some research I believe this might be a problem related to missing symbols related to bad ordering of library inclusion: http:// stackoverflow.com/questions/19901934/strange-linking- error-dso-missing-from-command-line
How can I fix this?
Attached is a patch of the changes I made on loch/Makefile to fix the above error. I'm really not sure if this is the proper fix but "it work's". Please consider it for inclusion on Therion source. If it's better that I send a pull request, let me know. Regards, Rodrigo