VTK5

2009年3月14日

MacPorts VTK

t f B! P L
+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

このブログを検索

ブログ アーカイブ

Translate

QooQ