[Paraview] Linking failure of vtkpython on Mac OS X 10.5 for Paraview3-CVS
Michael Wild
themiwi at gmail.com
Sun Aug 9 14:59:13 EDT 2009
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
PS: Can't tell you guys how much I hate "describing" CVS commits...
Last time I checked msysGit was pretty useable!
More information about the ParaView
mailing list