[Paraview] Relocatable plugins on ParaView CVS for Mac?

clinton at elemtech.com clinton at elemtech.com
Mon Sep 8 13:25:25 EDT 2008


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




More information about the ParaView mailing list