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,

> >

> > new therion version is available. It's mostly a bug fixing release;

> > see below for details. Most of the contributed patches were also

> > applied or adapted (thanks, Olly & Wookey).

> >

> > Therion 5.3.16 (2014-12-28):

> >

> > loch:

> > * VTK 6.0 support

> > * wxWidgets 3.0 support