[Paraview] ParaView 3.98.x superbuild: hdf5 run time errors
Peter Schmitt
pschmittml at gmail.com
Thu Feb 14 19:25:24 EST 2013
Hi everyone,
...
ERROR: In
> /Users/schmitt/paraview/opt/ParaView-3.98.1_RC1_OSX-10.7/paraview/src/paraview/ParaViewCore/ClientServerCore/Core/vtkPVPluginLoader.cxx,
> line 296
> vtkPVPluginLoader (0x7fdf9fc01810):
> dlopen(/Users/schmitt/paraview/paraview_svn/trunk/plugins/vtkLFMReader/build-v3.98.1_RC1/libvtkLFMReader.dylib,
> 1): Library not loaded: libhdf5.7.3.0.dylib
> Referenced from:
> /Users/schmitt/paraview/opt/ParaView-3.98.1_RC1_OSX-10.7/paraview/src/paraview-build/lib/libvtkpqComponents-pv3.98.1.dylib
> Reason: image not found
...
I found and fixed the problem. It turned out to be exactly what Utkarsh
suggested: problems fixed by fixup_install.py. Specifically, I had
forgotten a few "key=value" arguments for fixup_plugin.py
In case anyone else runs into this in the future, here's what I did:
1. Build ParaView via SuperBuild. (ccmake; gmake; ctest; cpack
-G"DragNDrop")
2. Edit my plugin's CMakeLists.txt to add:
add_custom_target(dist
COMMAND ${CMAKE_COMMAND} -DBINARY_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}
-DPV_SUPERBUILD_LIST_DIR=/Users/schmitt/paraview/opt/src/ParaViewSuperbuild-3.98.0/Projects
-DINSTALL_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}
-DPARAVIEW_BINARY_DIR:PATH=${ParaView_DIR}
-DTMP_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}
-Dbundle_name:STRING=${CMAKE_CURRENT_BINARY_DIR}/vtkLFMReader.tgz
-P
${CMAKE_CURRENT_LIST_DIR}/install_vtkLFMReader.cmake)
3. Add install_vtkLFMReader.cmake, which is largely the same as
install_vistrails.cmake:
if (APPLE)
set (SHARED_LIBRARY_PREFIX "lib")
set (SHARED_LIBRARY_SUFFIX ".dylib")
set (PLUGIN_DIR "lib")
elseif (UNIX)
set (SHARED_LIBRARY_PREFIX "lib")
set (SHARED_LIBRARY_SUFFIX ".so")
set (PLUGIN_DIR "lib")
elseif (WIN32)
set (SHARED_LIBRARY_PREFIX "")
set (SHARED_LIBRARY_SUFFIX ".dll")
set (PLUGIN_DIR "bin")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory
${TMP_DIR}/vtkLFMReader)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
${TMP_DIR}/vtkLFMReader)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
${BINARY_DIR}/${SHARED_LIBRARY_PREFIX}vtkLFMReader${SHARED_LIBRARY_SUFFIX}
${TMP_DIR}/vtkLFMReader)
if (APPLE)
COMMAND ${PV_SUPERBUILD_LIST_DIR}/apple/fixup_plugin.py
# The directory containing the plugin dylibs or the plugin
itself.
${TMP_DIR}/vtkLFMReader//${SHARED_LIBRARY_PREFIX}vtkLFMReader${SHARED_LIBRARY_SUFFIX}
# names to replace (in order)
"${PARAVIEW_BINARY_DIR}/lib/=@executable_path/../Libraries/"
"/Users/schmitt/paraview/opt/ParaView-3.98.0_OSX-10.7/install/lib/Qt=@executable_path/../Frameworks/Qt"
"/Users/schmitt/paraview/opt/ParaView-3.98.0_OSX-10.7/install/lib=@executable_path/../Libraries/"
"libhdf5.7.3.0.dylib=@executable_path/../Libraries/libhdf5.1.8.9.dylib"
"libhdf5_hl.7.3.0.dylib=@executable_path/../Libraries/libhdf5.1.8.9.dylib"
)
endif()
4. build my plugin (cmake ... gmake dist)
5. Load my plugin with the paraview.app inside the dmg
Thanks for your help!
Pete
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130214/0675595e/attachment.htm>
More information about the ParaView
mailing list