Um No. Don't do that. If you remove any type of path from the "install_name" then OS X will look in the current directory for libraries. It is my understanding that the ParaView devs plan to put the libraries in Paraview.app/Contents/lib or somewhere like that. I still can not get an "install" to work so I can not figure out where everything is being put. The "official" places to put all these dependent libraries on OS X are within the bundle at
paraview.app/Contents/Frameworks/Qt*.framework
paraview.app/Contents/lib/*.dylib
paraview.app/Contents/plugins

Samuel was partially correct in that he ran intall_name_tool to start resetting install_name ids from the libraries. One thing that stands out is the fact that the Qt frameworks do NOT have any type of isntall_path on them. This is the first problem I see.

Next, none of the vtk and paraview libraries have the correct install_path on them either. That path should be something like:
 @executable_path/../lib/*.dylib

The plugin should NOT have any path for itself. This is an error/bug in the ParaView build system. On OS X (at least) the add_library() call within one of the macros should be with "module" and NOT "shared". This is causing problems for OS X with linking. I thought I put in a bug report on this, maybe not. Either way it needs to be fixed.

This brings up the next issue. With all of these paths and such what is the best way to really do this. I am reading up on the "@rpath" and "@loader_path" instead of @executable_path.


 _________________________________________________
| Mike Jackson - Principal Software Engineer      |
| BlueQuartz Software                             |
| [EMAIL PROTECTED]                     |
| www.bluequartz.net                              |
---------------------------------------------------

On Sep 8, 2008, at 1:25 PM, [EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> wrote:
From: Mike Jackson <[EMAIL PROTECTED]>
Subject: Re: [Paraview] Relocatable plugins on ParaView CVS for Mac?
To: "ParaView" <[email protected]>
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                             |
| [EMAIL PROTECTED]                     |
| 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
[email protected]
http://www.paraview.org/mailman/listinfo/paraview

_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview

_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview



_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to