[Paraview] Relocatable plugins on ParaView CVS for Mac?

Mike Jackson mike.jackson at bluequartz.net
Tue Sep 9 10:03:11 EDT 2008


BTW, I am working through the OS X ParaView app bundle building script  
trying different ideas to see what might be able to work. Hard part  
for me is that I do not have access to a reasonably fast 10.4 machine.  
(1.25Ghz G4 Mini is just painful). I am building on OS X 10.5.4  
currently for my testing.

I have a batch of changes already that I will probably submit as a bug  
report. Mainly just organizing the paraview.app bundle a bit more to  
Apple's standards.

---
Mike Jackson - Principal Software Engineer
www.bluequartz.net


On Sep 9, 2008, at 9:55 AM, Samuel Crow wrote:

> Thanks for the link!
>
>
> --- On Mon, 9/8/08, Mike Jackson <mike.jackson at bluequartz.net> wrote:
>
>> From: Mike Jackson <mike.jackson at bluequartz.net>
>> Subject: Re: [Paraview] Relocatable plugins on ParaView CVS for Mac?
>> To: "ParaView" <paraview at paraview.org>
>> Date: Monday, September 8, 2008, 8:08 PM
>> This post pretty much explains everything. BUT the solution
>> used is OS
>> 10.5 ONLY as it would seem so those with 10.4 may be stuck.
>>
>> http://www.codeshorts.ca/2007/nov/01/leopard-linking-making-relocatable-libraries-movin
>>
>> Just depends how far back in OS X the ParaView developers
>> want to
>> support. 10.4 support is pretty reasonable, at least if
>> they are going
>> to release by the end of the year.
>>
>>  _________________________________________________
>> | Mike Jackson - Principal Software Engineer      |
>> | BlueQuartz Software                             |
>> | mike.jackson at bluequartz.net                     |
>> | www.bluequartz.net                              |
>> ---------------------------------------------------
>>
>> On Sep 8, 2008, at 1:25 PM, clinton at elemtech.com wrote:
>>
>>>
>>> Would it work to strip all the @executable_path's
>> out, and fix the
>>> id of it,
>>> so you get something like this:
>>>
>>> libLabReaderGUIPlugin.dylib:
>>>       libLabReaderGUIPlugin.dylib (compatibility
>> version 0.0.0,
>>> current
>>> version 0.0.0)
>>>       libpqComponents.dylib (compatibility version
>> 0.0.0, current
>>> version
>>> 0.0.0)
>>>       libpqCore.dylib (compatibility version 0.0.0,
>> current version
>>> 0.0.0)
>>>       libQtChart.dylib (compatibility version 0.0.0,
>> current
>>> version 0.0.0)
>>>       libQtTesting.dylib (compatibility version
>> 0.0.0, current
>>> version
>>> 0.0.0)
>>>       libpqWidgets.dylib (compatibility version
>> 0.0.0, current
>>> version
>>> 0.0.0)
>>>       QtAssistant.framework/Versions/4/QtAssistant
>> (compatibility
>>> version
>>> 4.3.0, current version 4.3.5)
>>> .. and so on.
>>>
>>> With just library names, doesn't the Mac loader
>> use the ones that
>>> are already
>>> loaded?
>>> An exception to removing absolute paths might be if
>> the plugin
>>> depends on
>>> something that paraview doesn't depend on.
>>>
>>> Clint
>>>
>>> On Monday 08 September 2008 11:14:32 am Samuel Crow
>> wrote:
>>>> Hello,
>>>>
>>>> The plugins are in
>> paraview.app/Contents/MacOS/plugins/ and the
>>>> output for
>>>> otool -L is as follows:
>>>>
>>>> libLabReaderGUIPlugin.dylib:
>>>>
>> 	@executable_path/plugins/libLabReaderGUIPlugin.dylib
>> (compatibility
>>>> version 0.0.0, current version 0.0.0)
>>>> @executable_path/libpqComponents.dylib
>> (compatibility version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libpqCore.dylib
>>>> (compatibility
>>>> version 0.0.0, current version 0.0.0)
>> @executable_path/
>>>> libQtChart.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libQtTesting.dylib (compatibility
>> version 0.0.0,
>>>> current
>>>> version 0.0.0) @executable_path/libpqWidgets.dylib
>> (compatibility
>>>> version
>>>> 0.0.0, current version 0.0.0)
>> @executable_path/libQVTK.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkPVServerManager.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> QtAssistant.framework/Versions/4/QtAssistant
>>>> (compatibility version 4.3.0, current version
>> 4.3.5)
>>>> QtNetwork.framework/Versions/4/QtNetwork
>> (compatibility version
>>>> 4.3.0,
>>>> current version 4.3.5)
>> @executable_path/libvtkPVFiltersCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkPVFilters.dylib
>> (compatibility version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkPVServerCommonCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkPVServerCommon.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkInfovisCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> QtGui.framework/Versions/4/QtGui (compatibility
>> version 4.3.0,
>>>> current
>>>> version 4.3.5) QtSql.framework/Versions/4/QtSql
>> (compatibility
>>>> version
>>>> 4.3.0, current version 4.3.5)
>> @executable_path/libvtkXdmfCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkXdmf.dylib (compatibility
>> version 0.0.0,
>>>> current
>>>> version 0.0.0)
>> @executable_path/libvtkParallelCS.dylib (compatibility
>>>> version 0.0.0, current version 0.0.0)
>> @executable_path/
>>>> libvtkHybridCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkVolumeRenderingCS.dylib
>> (compatibility version
>>>> 0.0.0, current version 0.0.0)
>> @executable_path/libvtkWidgetsCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkRenderingCS.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkViews.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkInfovis.pv3.3.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkWidgets.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkHybrid.pv3.3.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkParallel.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkVolumeRendering.pv3.3.dylib
>> (compatibility
>>>> version
>>>> 0.0.0, current version 0.0.0) @executable_path/
>>>> libvtkRendering.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>>
>> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
>>>> (compatibility
>>>> version 1.0.0, current version 1.0.0)
>>>>
>> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
>>>> (compatibility version 2.0.0, current version
>> 136.0.0)
>>>>
>> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
>>>> (compatibility version 45.0.0, current version
>> 949.33.0)
>>>> QtXml.framework/Versions/4/QtXml (compatibility
>> version 4.3.0,
>>>> current
>>>> version 4.3.5) QtCore.framework/Versions/4/QtCore
>> (compatibility
>>>> version
>>>> 4.3.0, current version 4.3.5)
>> @executable_path/libvtkGraphicsCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkGenericFilteringCS.dylib
>> (compatibility
>>>> version
>>>> 0.0.0, current version 0.0.0)
>>>>
>> @executable_path/libvtkGenericFiltering.pv3.3.dylib
>> (compatibility
>>>> version
>>>> 0.0.0, current version 0.0.0) @executable_path/
>>>> libvtkGraphics.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkImagingCS.dylib
>> (compatibility version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkImaging.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkIOCS.dylib (compatibility
>> version 0.0.0,
>>>> current
>>>> version 0.0.0)
>> @executable_path/libvtkFilteringCS.dylib
>>>> (compatibility
>>>> version 0.0.0, current version 0.0.0)
>> @executable_path/
>>>> libvtkCommonCS.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkClientServer.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libKWCommon.dylib
>>>> (compatibility
>>>> version 0.0.0, current version 0.0.0)
>>>> @executable_path/libvtkPVCommandOptions.dylib
>> (compatibility
>>>> version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkIO.pv3.3.dylib
>>>> (compatibility
>>>> version 0.0.0, current version 0.0.0)
>>>> @executable_path/libvtkFiltering.pv3.3.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkCommon.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkftgl.pv3.3.dylib
>> (compatibility version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkfreetype.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>>
>> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
>>>> (compatibility version 1.0.0, current version
>> 1.0.0)
>>>> @executable_path/libvtkverdict.vtk5.3.0.dylib
>> (compatibility
>>>> version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtkDICOMParser.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkmetaio.pv3.3.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtksqlite.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkexpat.pv3.3.dylib
>> (compatibility version
>>>> 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtksys.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libXdmf.dylib (compatibility
>> version 0.0.0, current
>>>> version 0.0.0)
>> @executable_path/libvtklibxml2.pv3.3.dylib
>>>> (compatibility
>>>> version 0.0.0, current version 0.0.0)
>> /usr/lib/libSystem.B.dylib
>>>> (compatibility version 1.0.0, current version
>> 111.1.1)
>>>> /usr/lib/libedit.2.dylib (compatibility version
>> 2.0.0, current
>>>> version
>>>> 2.9.0) @executable_path/libvtkexoIIc.pv3.3.dylib
>> (compatibility
>>>> version
>>>> 0.0.0, current version 0.0.0) @executable_path/
>>>> libvtkNetCDF.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkpng.pv3.3.dylib
>> (compatibility version 0.0.0,
>>>> current version 0.0.0)
>> @executable_path/libvtktiff.pv3.3.dylib
>>>> (compatibility version 0.0.0, current version
>> 0.0.0)
>>>> @executable_path/libvtkhdf5.dylib (compatibility
>> version 0.0.0,
>>>> current
>>>> version 0.0.0)
>> @executable_path/libvtkzlib.pv3.3.dylib (compatibility
>>>> version 0.0.0, current version 0.0.0)
>>>> @executable_path/libvtkjpeg.pv3.3.dylib
>> (compatibility version 0.0.0,
>>>> current version 0.0.0) /usr/lib/libstdc++.6.dylib
>> (compatibility
>>>> version
>>>> 7.0.0, current version 7.4.0)
>> /usr/lib/libgcc_s.1.dylib
>>>> (compatibility
>>>> version 1.0.0, current version 1.0.0)
>>>>
>>>> --- On Mon, 9/8/08, Mike Jackson
>> <mike.jackson at bluequartz.net> wrote:
>>>>> From: Mike Jackson
>> <mike.jackson at bluequartz.net>
>>>>> Subject: Re: [Paraview] Relocatable plugins on
>> ParaView CVS for Mac?
>>>>> To: "ParaView"
>> <paraview at paraview.org>
>>>>> Date: Monday, September 8, 2008, 4:33 PM
>>>>> Couple things come to mind that need to be
>> checked.
>>>>>   Where exactly in relation to the
>> paraview.app bundle
>>>>> are you
>>>>> trying to load the plugins from?
>>>>>   Also, what is the output of running
>> "otool -L
>>>>> [plugin]".
>>>>>
>>>>> I have some ideas but let's see the
>> answers to those
>>>>> first..
>>>>>
>>>>>
>> _________________________________________________
>>>>>
>>>>> | Mike Jackson - Principal Software Engineer
>>   |
>>>>> | BlueQuartz Software
>>   |
>>>>> | mike.jackson at bluequartz.net
>>   |
>>>>> | www.bluequartz.net
>>   |
>>>>>
>>>>>
>> ---------------------------------------------------
>>>>>
>>>>> On Sep 8, 2008, at 12:17 PM, Samuel Crow
>> wrote:
>>>>>> Hello again,
>>>>>>
>>>>>> I've written a BASH script that
>> translates the
>>>>>
>>>>> paths of any
>>>>>
>>>>>> libraries that have been accessing from
>> the ParaView
>>>>>
>>>>> executable to
>>>>>
>>>>>> use @executable_path but unfortunately the
>> GUI plugins
>>>>>
>>>>> don't work on
>>>>>
>>>>>> the destination computer.  I am using the
>> RPath
>>>>>
>>>>> feature of MaxOSX to
>>>>>
>>>>>> generate the .Dylib files.  My goal is to
>> make my
>>>>>
>>>>> plugins work on
>>>>>
>>>>>> any Mac running the 3.3.1 version of
>> ParaView
>>>>>
>>>>> downloaded from the
>>>>>
>>>>>> ParaView website.
>>>>>>
>>>>>> On the build computer I'm getting the
>> error
>>>>>
>>>>> message
>>>>>
>>>>>> "QObject::setParent: Cannot set
>> parent, new
>>>>>
>>>>> parent is in a different
>>>>>
>>>>>> thread".  The plugins still work on
>> this computer
>>>>>
>>>>> but if I copy them
>>>>>
>>>>>> to another machine that doesn't have
>> the build
>>>>>
>>>>> environment, the
>>>>>
>>>>>> readers won't work.  The source plugin
>> works since
>>>>>
>>>>> it only has a
>>>>>
>>>>>> server-manager plugin anyway.  I suspect
>> the filter
>>>>>
>>>>> would work also
>>>>>
>>>>>> for similar reasons.
>>>>>>
>>>>>> My build machine is a MacPro with 2
>> quad-cord Xeon
>>>>>
>>>>> processors and 4
>>>>>
>>>>>> Gigs of RAM running MacOSX 10.5.4 .
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>> _______________________________________________
>>>>>> ParaView mailing list
>>>>>> ParaView at paraview.org
>>>>>>
>> http://www.paraview.org/mailman/listinfo/paraview
>>>>>
>>>>>
>> _______________________________________________
>>>>> ParaView mailing list
>>>>> ParaView at paraview.org
>>>>>
>> http://www.paraview.org/mailman/listinfo/paraview
>>>>
>>>> _______________________________________________
>>>> ParaView mailing list
>>>> ParaView at paraview.org
>>>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>>
>>
>> _______________________________________________
>> ParaView mailing list
>> ParaView at paraview.org
>> http://www.paraview.org/mailman/listinfo/paraview
>
>
>
>



More information about the ParaView mailing list