[Therion] therion 5.3.16 loch compile fails

2014-12-29 Thread Bill Gee
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 

[Therion] therion 5.3.16 loch compile fails

2014-12-29 Thread Wookey
+++ 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
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/