+pythonでビルドし直そうとしたら,PythonのWrappingは構築されていない.
まず,DBUILD_SHARED_LIBS:BOOL=ONが必要だった.そのままだとdyldがライブラリを見つけられない.DYLD_LIBRARY_PATHを指定すると,vtkやvtkpythonコマンドが動作した.Tkのウィンドウがうまく動かないことがあったのは,-DVTK_USE_COCOA:BOOL=ONなのに-DBUILD_SHARED_LIBS:BOOL=OFFだったからかもと思ったが,これが原因ではなかった.
RPATHの指定.otool -L
でリンクされているライブラリのパスを確認できる.Mac OS Xでは,リンク時に-install_name
にライブラリのパスを指定することで,ライブラリに書き込める.vtkのライブラリは,/opt/local/lib/vtk-5.2
にあり,install name
がフルパスでなかった.フルパスでなければ,DYLD_LIBRARY_PATH
などから探すことになる.
CMake 2.4の途中からか,CMAKE_INSTALL_NAME_DIR
でパスを指定できるようになった.その他RPATH
に関する記述やFinkのパッケージを参考にした.
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ONはlibvtkCommon.dylibのリンクに失敗する.-DVTK_INSTALL_NO_PYTHON:BOOL=ONとして,post-destrootで手動でsetup.py installするようにした.CMakeを介すると,クウォートのためかうまくsetup.pyの引数が渡らなかったから.ここはFinkとは異なるところ.
+x11もうまく動作していなかった.CMakeはOS添付のTclやTkを見つけてしまう.こちらは,Aqua (Carbon).x11に限らず,いつでもMacPortsのTcl/Tkを指定するようにした.
-DTCL_INCLUDE_PATH=${prefix}/include
-DTCL_LIBRARY=${prefix}/lib/libtcl.dylib
-DTK_INCLUDE_PATH=${prefix}/include
-DTK_LIBRARY=${prefix}/lib/libtk.dylib