[Therion] therion 5.3.16 loch compile fails

Bill Gee bgee at campercaver.net
Mon Dec 29 17:12:17 CET 2014


Update -

Solved!  I finally got Loch to compile.  The change is in the Loch Makefile, highlighted 
below in red.  With this final change the entire Therion package will compile.

==================
# PLATFORM LINUX
CXX = c++
CC = gcc
POBJECTS = lxR2P.o
#ifeq ($(VTKV6),1)
#VTKLIBS = -lvtkCommonExecutionModel-$(VTKVERSION) -
lvtkCommonDataModel-$(VTKVERSION) -lvtkCommonCore-$(VTKVERSION) -
lvtkFiltersCore-$(VTKVERSION) -lvtkFiltersHybrid-$(VTKVERSION) -
lvtkIOLegacy-$(VTKVERSION) -lfreetype -lpng -ljpeg
#else
#VTKLIBS = -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -lvtkCommon -
lfreetype
#endif
VTKLIBS = -lvtkCommonExecutionModel -lvtkCommonDataModel -lvtkCommonCore -
lvtkFiltersCore -lvtkFiltersHybrid -lvtkIOLegacy -lfreetype -lpng -ljpeg
CXXPFLAGS = -DLXLINUX $(shell wx-config --cxxflags) -Wno-deprecated $(shell 
freetype-config --cflags) -I$(VTKPATH)
CCPFLAGS = -DLXLINUX  $(shell wx-config --cflags)
LXLIBDIR = linux
PLIBS = $(shell wx-config --libs --gl-libs) -L$(VTKLIBPATH) $(VTKLIBS) -lGLU -lGL -
lpthread -lX11 -lz 
LXPLATFORM = LINUX
============

Bill Gee




On Sunday, December 28, 2014 14:33:53 Bill Gee wrote:
> Hello Martin and everyone ...
> 
> This version of therion still fails to compile loch on my Fedora 21 system.
> At the end of the loch compile it issues these messages:
> 
> ====================
> 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-2.8 -pthread -Wl,-z,relro   -
> lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8
> -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8
> -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8 
> -L/usr/lib64/vtk -
> lvtkCommonExecutionModel-6.1 -lvtkCommonDataModel-6.1 -lvtkCommonCore-6.1 
-
> lvtkFiltersCore-6.1 -lvtkFiltersHybrid-6.1 -lvtkIOLegacy-6.1 -lfreetype
> -lpng -ljpeg -lGLU -lGL -lpthread -lX11 -lz  -s
> /usr/bin/ld: cannot find -lvtkCommonExecutionModel-6.1
> /usr/bin/ld: cannot find -lvtkCommonDataModel-6.1
> /usr/bin/ld: cannot find -lvtkCommonCore-6.1
> /usr/bin/ld: cannot find -lvtkFiltersCore-6.1
> /usr/bin/ld: cannot find -lvtkFiltersHybrid-6.1
> /usr/bin/ld: cannot find -lvtkIOLegacy-6.1
> collect2: error: ld returned 1 exit status
> Makefile:145: recipe for target 'loch' failed
> make: *** [loch] Error 1
> ===============
> 
> My system does not contain any of the files that ld cannot find.
> 
> I got this far by making some changes to the loch Makefile.  Here is the
> relevant section:
> 
> =================
> #VTKVERSION = $(shell tclsh ./getvtkver.tcl version)
> VTKVERSION=6.1
> # VTKPATH = $(shell tclsh ./getvtkver.tcl incpath)
> # VTKLIBPATH = $(shell tclsh ./getvtkver.tcl libpath)
> VTKV6 = $(shell tclsh ./getvtkver.tcl version6)
> #ifeq ($(VTKV6),1)
> #VTKLIBS = -lvtkCommonExecutionModel-$(VTKVERSION) -
> lvtkCommonDataModel-$(VTKVERSION) -lvtkCommonCore-$(VTKVERSION) -
> lvtkFiltersCore-$(VTKVERSION) -lvtkFiltersHybrid-$(VTKVERSION) -
> lvtkIOLegacy-$(VTKVERSION) -lfreetype -lpng -ljpeg
> #else
> #VTKLIBS = -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -
> lvtkCommon -lvtkjpeg -lvtkpng -lvtkzlib -lvtksys -lfreetype
> #endif
> # VTKVERSION = 5.4
> VTKPATH = /usr/include/vtk
> VTKLIBPATH = /usr/lib64/vtk
> POSTMAKE =
> STRIPFLAG = -s
> 
> # PLATFORM CONFIG
> 
> # PLATFORM LINUX
> CXX = c++
> CC = gcc
> POBJECTS = lxR2P.o
> #ifeq ($(VTKV6),1)
> VTKLIBS = -lvtkCommonExecutionModel-$(VTKVERSION) -
> lvtkCommonDataModel-$(VTKVERSION) -lvtkCommonCore-$(VTKVERSION) -
> lvtkFiltersCore-$(VTKVERSION) -lvtkFiltersHybrid-$(VTKVERSION) -
> lvtkIOLegacy-$(VTKVERSION) -lfreetype -lpng -ljpeg
> #else
> #VTKLIBS = -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -
> lvtkCommon -lfreetype
> #endif
> CXXPFLAGS = -DLXLINUX $(shell wx-config --cxxflags) -Wno-deprecated $(shell
> freetype-config --cflags) -I$(VTKPATH)
> =====================
> 
> gettkver.tcl returns 0 even though the installed version of vtk is 6.1.
> 
> I forced the setting for both VTKPATH and VTKLIBPATH, and I removed the 'IF'
> statement around the setting of VTKLIBS.  I tried using both of the VTKLIBS
> settings, but neither of them work.
> 
> I know very little about ld.  It appears to me that the Fedora installation
> of vtk is using different filenames for the shared object libraries.  The
> libraries names in the Makefile do not match up with what is actually on my
> system.
> 
> I attached a text file to this message showing 'ls -l' from the vtk shared
> objects directory.  If someone can tell me which of these libraries are
> actually needed, I will try setting the VTKLIBS variable to use them.
> 
> Final note - For me this is not critical.  I can easily set up the main
> therion Makefile so it bypasses loch entirely.  I have never used loch.
> Therion compiles correctly - it is only loch that fails.
> 
> Thanks - Bill Gee
> 
> On Sunday, December 28, 2014 19:56:48 Martin Budaj wrote:
> > Hi all,
> > 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20141229/0065cacd/attachment.html>


More information about the Therion mailing list