[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