[Paraview] Linking failure of vtkpython on Mac OS X 10.5 for Paraview3-CVS
Michael Wild
themiwi at gmail.com
Mon Aug 10 02:49:40 EDT 2009
On 9. Aug, 2009, at 20:59, Michael Wild wrote:
>
> On 9. Aug, 2009, at 18:02, Michael Wild wrote:
>
>>
>> On 9. Aug, 2009, at 16:51, Mike Jackson wrote:
>> [fixed TOFU]
>>>
>>> On Sun, Aug 9, 2009 at 9:17 AM, Michael Wild<themiwi at gmail.com>
>>> wrote:
>>>> Hi all
>>>>
>>>> When I try to build a current version of ParaView3 from CVS on
>>>> Mac OS X
>>>> 10.5.7 with Qt 4.5 (the official distribution), cmake-2.6-3 and
>>>> PARAVIEW_ENABLE_PYTHON=TRUE, linking of vtkpython fails with:
>>>>
>>>> /usr/bin/c++ -Wno-deprecated -Wno-deprecated -O3 -DNDEBUG
>>>> -Wl,-search_paths_first -headerpad_max_install_names -fPIC -
>>>> flat_namespace
>>>> -undefined suppress -u _PyMac_Error
>>>> CMakeFiles/vtkpython.dir/vtkPythonAppInit.cxx.o -o ../../../bin/
>>>> vtkpython
>>>> -lpthread -framework Python ../../../bin/libvtksys.pv3.7.dylib
>>>> ../../../bin/libvtkCommon.pv3.7.dylib
>>>> ../../../bin/libvtkFiltering.pv3.7.dylib ../../../bin/
>>>> libvtkIO.pv3.7.dylib
>>>> ../../../bin/libvtkGraphics.pv3.7.dylib
>>>> ../../../bin/libvtkImaging.pv3.7.dylib /usr/lib/libutil.dylib
>>>> ../../../bin/libvtkRendering.pv3.7.dylib
>>>> ../../../bin/libvtkVolumeRendering.pv3.7.dylib
>>>> ../../../bin/libvtkHybrid.pv3.7.dylib ../../../bin/
>>>> libvtkWidgets.pv3.7.dylib
>>>> ../../../bin/libvtkParallel.pv3.7.dylib
>>>> ../../../bin/libvtkGeovis.pv3.7.dylib ../../../bin/
>>>> libvtkInfovis.pv3.7.dylib
>>>> ../../../bin/libvtkViews.pv3.7.dylib ../../../bin/
>>>> libvtkInfovis.pv3.7.dylib
>>>> ../../../bin/libvtkWidgets.pv3.7.dylib ../../../bin/
>>>> libvtkHybrid.pv3.7.dylib
>>>> ../../../bin/libvtkParallel.pv3.7.dylib
>>>> ../../../bin/libvtkRendering.pv3.7.dylib ../../../bin/
>>>> libvtkIO.pv3.7.dylib
>>>> ../../../bin/libvtkDICOMParser.pv3.7.dylib
>>>> ../../../bin/libvtkNetCDF.pv3.7.dylib ../../../bin/
>>>> libvtkmetaio.pv3.7.dylib
>>>> ../../../bin/libvtksqlite.pv3.7.dylib ../../../bin/
>>>> libvtkpng.pv3.7.dylib
>>>> ../../../bin/libvtkzlib.pv3.7.dylib ../../../bin/
>>>> libvtkjpeg.pv3.7.dylib
>>>> ../../../bin/libvtktiff.pv3.7.dylib ../../../bin/
>>>> libvtkexpat.pv3.7.dylib
>>>> ../../../bin/libvtkGraphics.pv3.7.dylib
>>>> ../../../bin/libvtkverdict.pv3.7.dylib
>>>> ../../../bin/libvtkImaging.pv3.7.dylib
>>>> ../../../bin/libvtkFiltering.pv3.7.dylib
>>>> ../../../bin/libvtkCommon.pv3.7.dylib ../../../bin/
>>>> libvtksys.pv3.7.dylib -lm
>>>> ../../../bin/libvtkftgl.pv3.7.dylib ../../../bin/
>>>> libvtkfreetype.pv3.7.dylib
>>>> ../../../bin/libvtkexoIIc.pv3.7.dylib ../../../bin/
>>>> libvtklibxml2.pv3.7.dylib
>>>> ../../../bin/libvtkalglib.pv3.7.dylib ../../../bin/
>>>> libvtkproj4.pv3.7.dylib
>>>> ld: file not found: QtGui.framework/Versions/4/QtGui
>>>> collect2: ld returned 1 exit status
>>>>
>>>> Looking at the library references (otool -L), I see that e.g.
>>>> bin/libvtkRendering.pv3.7.dylib references QtGui.framework/
>>>> Versions/4/QtGui
>>>> (that being the install-name of
>>>> /Library/Frameworks/QtGui.framework/Versions/4/QtGu). Howerver,
>>>> why the
>>>> linker isn't able to pick up this dependency isn't clear to me,
>>>> because it's
>>>> right there, on the default search path in
>>>> /Library/Frameworks/QtGui.framework/Versions/4/QtGui.
>>>>
>>>> Besides, shouldn't CMake figure out the transitive dependencies
>>>> and add
>>>> -framework QtGui (and friends) to the link line automagically?
>>>>
>>>> What irritates me, is that the dashboard doesn't show anything
>>>> (however,
>>>> that one uses OS X 10.4):
>>>> http://www.cdash.org/CDash/buildSummary.php?buildid=398013
>>>>
>>>> Any idea what's going wrong here?
>>>>
>>>> Michael
>>>>
>>>
>>> Not sure what official version of Qt ParaView 3.8 is going to
>>> support.
>>> My hope would be the current version (4.5). If they are still only
>>> supporting 4.3 (which based on recent email traffic seems to be the
>>> case) then you may be on your own to try and figure out what is
>>> wrong,
>>> or at least "lead the way". I know I have to patch the ParaView tree
>>> to get it to build against Qt 4.5 Cocoa and then do some manual file
>>> copying after the packages are made.
>>>
>>> Mike
>>
>>
>> I don't think this is true. Have a look at the following file
>> (which currently is HEAD), starting from line 94:
>>
>> http://public.kitware.com/cgi-bin/viewcvs.cgi/CMakeLists.txt?annotate=1.108&root=ParaView3
>>
>>
>> Michael
>
>
> Ok, I kind of tracked it down, although I couldn't solve it...
> Through bisection I found the following:
>
> - Before the commit from Fri Jul 31 14:52:47 2009 "ENH: Applying
> patch transitive3.patch, see vtk-dev thread #Use
> LINK_INTERFACE_LIBRARIES for VTK libs" by Mathieu Malaterre
> vtkpython compiles just fine. This commit then causes the linking of
> the vtkParallel library to fail (looks like missing OpenGL libraries
> to me).
>
> - All subsequent commits have the same problem, until...
>
> - the commit from Fri Jul 31 19:25:31 2009 by David Partyka titled
> "COMP: link Parallel against opengl when rendering is enabled."
> introduces the linking failure described in my first message.
>
>
> Michael
>
Linking vtkpython against vtkQtChart solves the problem for me.
However, I'm not sure this is the proper thing to do...
diff --git a/VTK/Wrapping/Python/CMakeLists.txt b/VTK/Wrapping/Python/
CMakeLists.txt
index 932ac7f..afb7e72 100644
--- a/VTK/Wrapping/Python/CMakeLists.txt
+++ b/VTK/Wrapping/Python/CMakeLists.txt
@@ -57,7 +57,8 @@ SET(VTKPYTHON_LINK_LIBS
vtkFiltering
vtkIO
vtkGraphics
- vtkImaging )
+ vtkImaging
+ vtkQtChart )
SET (vtkpython_pyc_depends
vtkCommonPython
More information about the ParaView
mailing list