[vtk-developers] [VTK 0012876]: Building VTK. DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON and python wrapper

Mantis Bug Tracker mantis at public.kitware.com
Thu Jan 26 12:11:12 EST 2012


The following issue has been SUBMITTED. 
====================================================================== 
http://vtk.org/Bug/view.php?id=12876 
====================================================================== 
Reported By:                Samuel John
Assigned To:                
====================================================================== 
Project:                    VTK
Issue ID:                   12876
Category:                   (No Category)
Reproducibility:            have not tried
Severity:                   minor
Priority:                   high
Status:                     backlog
Project:                    Release 
Type:                       incorrect functionality 
Resolution:                 open
Fixed in Version:           
====================================================================== 
Date Submitted:             2012-01-26 12:11 EST
Last Modified:              2012-01-26 12:11 EST
====================================================================== 
Summary:                    Building VTK.
DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON and python wrapper
Description: 
Homebrew builds all software packages in a <tempdir> and then moves it to, e.g.
/usr/local/Cellar/vtk/<version>/... and /usr/local/lib/vtk is a symlink to that
dir.

We use DCMAKE_INSTALL_NAME_DIR and DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON to
get the final RPATH correctly written into the libs, even if we build in a
<tempdir>.

Then, just during the "make install", we add the <tempdir>/build/bin to
DYLD_LIBRARY_PATH and that used to work well (before), since the freshly built
libs can find each other.

Unfortunately, now we get the error:

make install
[...]
Linking CXX executable ../../bin/vtkpython
[ 95%] Building CXX object
Infovis/CMakeFiles/vtkInfovisPythonD.dir/vtkRISReaderPython.cxx.o
[ 95%] [ 95%] Building CXX object
Infovis/CMakeFiles/vtkInfovisPythonD.dir/vtkRandomGraphSourcePython.cxx.o
Building CXX object
Infovis/CMakeFiles/vtkInfovisPythonD.dir/vtkRandomLayoutStrategyPython.cxx.o
ld: file not found:
/usr/local/Cellar/vtk/5.8.0/lib/vtk-5.8/libvtkDICOMParser.5.8.dylib for
architecture x86_64
collect2: ld returned 1 exit status
[ 95%] make[2]: *** [bin/vtkpython] Error 1
make[1]: *** [Wrapping/Python/CMakeFiles/vtkpython.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Obviously, some make target associated with python wrapping already expected the
a dylib at the target install location (where it is not yet).

Now to my before-mentioned, ugly work-a-round:
Is there a better way than to introduce a temporary symlink: 
/usr/local/Cellar/vtk/5.8.0/lib/vtk-5.8 --->  <tempdir>/build/bin ???
I put this symlink, then "make" then remove that symlink, then "make install".
Seems to work. Python can import vtk.

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2012-01-26 12:11 Samuel John    New Issue                                    
======================================================================




More information about the vtk-developers mailing list