「RELIONトラブルシューティング」の版間の差分
(→ERROR: TIFF support was not enabled during compilation) |
(→対処) |
||
行7: | 行7: | ||
==== 対処 ==== | ==== 対処 ==== | ||
− | * | + | * libtiffのdevel入れる必要がある。 |
− | ** https://github.com/3dem/relion/issues/383 | + | ** Issue上がってた。 https://github.com/3dem/relion/issues/383 |
− | ** | + | ** relion.gitのreadmeにも書いてある。 https://github.com/3dem/relion |
− | *** sudo apt install ... | + | *** sudo apt install ... のところに列挙してなかったから見落としてた。マニュアルはちゃんと読もう。 |
# relionのルートディレクトリに移動 (cmakeとかsrcとかあるディレクトリ) | # relionのルートディレクトリに移動 (cmakeとかsrcとかあるディレクトリ) | ||
行26: | 行26: | ||
$ make install | $ make install | ||
− | ( | + | (普通は上記だけでlibtiffをリンクしたRELIONをビルドできます。ただ、minicondaやanacondaを使ってEMAN2をビルドした環境とかでは、[[minicondaにCMakeの検索パスを持ってかれる]]というつらい現象が起きるかもしれません。) |
cmakeでこけた怒 | cmakeでこけた怒 |
2019年5月15日 (水) 03:10時点における版
Motion Correction
ERROR: TIFF support was not enabled during compilation
症状
2019/5/14, v3.0.5, build from source in Ubuntu 16.04.6 LTS
RELIONチュートリアルでMotion correctionするとき、MoitonCor2のRELION実装使ったら表題のエラーが出た。
対処
- libtiffのdevel入れる必要がある。
- Issue上がってた。 https://github.com/3dem/relion/issues/383
- relion.gitのreadmeにも書いてある。 https://github.com/3dem/relion
- sudo apt install ... のところに列挙してなかったから見落としてた。マニュアルはちゃんと読もう。
# relionのルートディレクトリに移動 (cmakeとかsrcとかあるディレクトリ) $ rm -r build/ install/ $ sudo apt install libtiff5-dev $ mkdir build/ install/ $ cd build && cmake -DCMAKE_INSTALL_PREFIX=../install .. $ make -j10 $ make install
(普通は上記だけでlibtiffをリンクしたRELIONをビルドできます。ただ、minicondaやanacondaを使ってEMAN2をビルドした環境とかでは、minicondaにCMakeの検索パスを持ってかれるというつらい現象が起きるかもしれません。)
cmakeでこけた怒
(出力の一部抜粋)
CMake Warning at src/apps/CMakeLists.txt:165 (add_executable): Cannot generate a safe runtime search path for target tiltpair_plot because files in some directories may conflict with libraries in implicit directories: runtime library [libtiff.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib runtime library [libfftw3f.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib runtime library [libfftw3.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib Some of these libraries may not be found correctly.
$ which cmake /home/kttn/miniconda2/bin/cmake
EMAN2インストールするときに入れたminiconda2のbin/に、condaで入れたcmakeが入ってて、それ使ってるのが問題か
cmakeを/usr/bin/cmakeに置き換えて再ビルド
$ /usr/bin/cmake -DCMAKE_INSTALL_PREFIX=../install ..
(出力の一部抜粋)
CMake Warning at src/apps/CMakeLists.txt:165 (add_executable): Cannot generate a safe runtime search path for target maingui because files in some directories may conflict with libraries in implicit directories: runtime library [libtiff.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib runtime library [libfftw3f.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib runtime library [libfftw3.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib Some of these libraries may not be found correctly.
んぁー cmakeわからん
relion.gitのreadmeに" If you installed libtiff in a non-standard location, specify the location by -DTIFF_INCLUDE_DIR=/path/to/include -DTIFF_LIBRARY=/path/to/libtiff.so.5."なる記述があったので、これを使ってみる
- includeとlibはどこですか
- https://packages.ubuntu.com/xenial/amd64/libtiff5-dev/filelist
- /usr/include/x86_64-linux-gnu と /usr/lib/x86_64-linux-gnu/ でした
$ cmake -DCMAKE_INSTALL_PREFIX=../install -DTIFF_INCLUDE_DIR=/usr/include/x86_64-linux-gnu -DTIFF_LIBRARY=/usr/lib/x86_64-linux-gnu/libtiff.so.5 ..
(出力の一部抜粋)
CMake Error at /home/kttn/softwares/relion/build/CMakeFiles/CMakeTmp/cmTC_3d3bbTargets.cmake:16 (add_library): Target "MPI::MPI_C" links to item " -Wl,-rpath,/home/kttn/miniconda2/lib -Wl,-rpath -Wl,/home/kttn/miniconda2/lib -Wl,--enable-new-dtags" which has leading or trailing whitespace. This is now an error according to policy CMP0004. Call Stack (most recent call first): /home/kttn/softwares/relion/build/CMakeFiles/CMakeTmp/CMakeLists.txt:12 (include)
libtiffは解消されたけど他のライブラリが相変わらずminicondaに持ってかれている
$ conda remove cmake $ cmake -DCMAKE_INSTALL_PREFIX=../install ..
(一部抜粋)
CMake Warning at src/apps/CMakeLists.txt:165 (add_executable): Cannot generate a safe runtime search path for target tiltpair_plot because files in some directories may conflict with libraries in implicit directories: runtime library [libtiff.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib runtime library [libfftw3f.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib runtime library [libfftw3.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/kttn/miniconda2/lib Some of these libraries may not be found correctly.
minicondaの呪縛からどうやって逃れたらいいの?
- 色々試す
- miniconda2をPATHから削除してcmakeする
- (結果)相変わらずminiconda2に持ってかれたまま
- miniconda2をPATHから削除してcmakeする
CMakeはインクルードとライブラリを検索するとき、どの設定ファイルまたは環境変数を呼んでどこを探しに行っているのか?