[Therion] therion 5.3.16 loch compile fails

Bill Gee bgee at campercaver.net
Tue Dec 30 01:31:59 CET 2014


Hi Wookey -

Sorry about that!  I don't use colors very often, but I sort of assume when I 
do that they will work for most people.

The three changes I made were to directly set the values of VTKPATH, 
VTKLIBPATH and VTKLIBS.  The other changes were simply commenting out the 
logic that attempts to set these variables by scanning the local system.

Your comment about a "smarter" build system is interesting.  One of the things 
I discovered while working on this problem is that cmake has a system for 
finding libraries, and the vtk package for Fedora includes the necessary files 
to implement this system.  

I generated a diff file and attached it to this message.

Bill Gee



On Monday, December 29, 2014 17:02:46 Wookey wrote:
> +++ Bill Gee [2014-12-29 10:12 -0600]:
> >    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.
> 
> My email is still black-and-white text. A diff would have been rather more
> use :-)
> But I presume you are saying, replace:
> >    #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
> 
> with:
> >    VTKLIBS = -lvtkCommonExecutionModel -lvtkCommonDataModel
> >    -lvtkCommonCore
> >    -lvtkFiltersCore -lvtkFiltersHybrid -lvtkIOLegacy -lfreetype -lpng
> >    -ljpeg
> 
> ?
> 
> Thanks for the info. Seems that debian-based and fedora-based distros
> have used a different library-naming scheme.
> 
> Obviously a smarter patch would be needed to let it build on debian
> _and_ fedora based systems.
> 
> Mostly what all this shows is that therion could really use a proper
> build system like cmake, as then it could just use pkgconfig or
> built-in cmake findpackage runes which should deal with distro
> packaging variation like this.
> 
> Wookey
-------------- next part --------------
19,21c19,22
< VTKVERSION = $(shell tclsh ./getvtkver.tcl version)
< VTKPATH = $(shell tclsh ./getvtkver.tcl incpath)
< VTKLIBPATH = $(shell tclsh ./getvtkver.tcl libpath)
---
> #VTKVERSION = $(shell tclsh ./getvtkver.tcl version)
> VTKVERSION=6.1
> # VTKPATH = $(shell tclsh ./getvtkver.tcl incpath)
> # VTKLIBPATH = $(shell tclsh ./getvtkver.tcl libpath)
23,27c24,28
< 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
---
> #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
29,30c30,31
< # VTKPATH = /usr/local/include/vtk-$(VTKVERSION)
< # VTKLIBPATH = /usr/local/lib/vtk-$(VTKVERSION)
---
> VTKPATH = /usr/include/vtk
> VTKLIBPATH = /usr/lib64/vtk
36a38,53
> 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
> 
> # PLATFORM DEBIAN
50,64d66
< 
< # PLATFORM DEBIAN
< 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)
< 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


More information about the Therion mailing list