「UbuntuでAnaconda3を用いてEMAN2仮想環境を構築する」の版間の差分
提供: Eospedia
(→手順) |
|||
行3: | 行3: | ||
* 2019年8月26日実施。 | * 2019年8月26日実施。 | ||
+ | == 追記 == | ||
+ | === その1(2020/1/23) === | ||
+ | * 本記事の情報は古いです。EMAN2ウェブサイトのソースビルド説明ページが更新されているので、そちらに従えばビルドできます。 | ||
+ | ** https://blake.bcm.edu/emanwiki/EMAN2/COMPILE_EMAN2_ANACONDA | ||
== 実行環境 == | == 実行環境 == |
2020年1月23日 (木) 11:16時点における最新版
目次
この記事について
- Ubuntuマシンには、公式手順に倣ってMiniconda2を用いたソースビルドでEMAN2入れていたのだが、MacOSでAnaconda3を用いたビルドに成功したことを受けてこっちでもやってみたくなった。その作業の覚書。
- 2019年8月26日実施。
追記
その1(2020/1/23)
- 本記事の情報は古いです。EMAN2ウェブサイトのソースビルド説明ページが更新されているので、そちらに従えばビルドできます。
実行環境
- Ubuntu 16.04.6 LTS
手順
Anaconda3のインストール
インストーラのダウンロードとインストールの実施
# インストーラのダウンロード > wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh # インストール > sh Anaconda3-2019.07-Linux-x86_64.sh > bash
bashして新しいシェル立ち上げたときにプロンプトの前に(base)と出てくればインストール成功している。
EMAN2用仮想環境の作成
公式では cmake=3.9 も指定しているが、バージョンを3.9にする意味がよく分からないので、とりあえずバージョン指定なしで、最新版を入れてみる。
> conda create -n eman-env python=2.7 cmake -c defaults
仮想環境へ必要物をインストールする。
> conda install -n eman-env eman-deps=14 -c cryoem -c defaults -c conda-forge
cmakeとかpythonとかが勝手にダウングレードされる。
で、EMAN2用仮想環境へ切り替える。
> conda activate eman-env
EMAN2のビルドとインストール
ソースコードの用意
Githubからソースを取ってくる。~/softwaresにEMAN2を置くことにする。
> cd ~/softwares > git clone https://github.com/cryoem/eman2.git # 2019年8月現在の最新の安定版をチェックアウト > git checkout v2.3
ビルド
> cd ~/softwares/eman2 > mkdir build && cd build > cmake ..
OpenGL系で警告が出てくる
CMake Warning (dev) at /home/kttn/anaconda3/envs/eman-env/share/cmake-3.12/Modules/FindOpenGL.cmake:270 (message): Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when available. Run "cmake --help-policy CMP0072" for policy details. Use the cmake_policy command to set the policy and suppress this warning. FindOpenGL found both a legacy GL library: OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so and GLVND libraries for OpenGL and GLX: OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for compatibility with CMake 3.10 and below the legacy GL library will be used. Call Stack (most recent call first): cmake/OpenGL.cmake:15 (find_package) libEM/CMakeLists.txt:175 (include) This warning is for project developers. Use -Wno-dev to suppress it.
よく分からないので無視する。 ビルド実施。
> make -j
引くぐらい警告出てくるけどC++あるあるなので無視する。nvccが動かなかったような気がするのでGPUアプリのビルドが出来ていないかもしれない。
インストール
> make install
~/anaconda3/envs/eman-env/bin/ にEMAN2のプログラムがインストールされる。
テスト
> make test Running tests... Test project /home/kttn/softwares/eman2/build Start 1: imports 1/5 Test #1: imports .......................... Passed 0.17 sec Start 2: test-EMAN2DIR 2/5 Test #2: test-EMAN2DIR .................... Passed 0.21 sec Start 3: nose-tests 3/5 Test #3: nose-tests .......................***Failed 9.22 sec Start 4: progs 4/5 Test #4: progs ............................ Passed 40.76 sec Start 5: py-compile 5/5 Test #5: py-compile ....................... Passed 0.42 sec 80% tests passed, 1 tests failed out of 5 Total Test time (real) = 50.78 sec The following tests FAILED: 3 - nose-tests (Failed) Errors while running CTest Makefile:96: ターゲット 'test' のレシピで失敗しました make: *** [test] エラー 8
なにかに失敗している。
make test-verbose でチェックしてみると、test_write_jpeg ってところで失敗していた。
3: ====================================================================== 3: ERROR: test ignore negative index for jpeg .............. 3: ---------------------------------------------------------------------- 3: Traceback (most recent call last): 3: File "/home/kttn/softwares/eman2/rt/pyem/test_imageio.py", line 207, in test_write_jpeg 3: os.unlink(filename) 3: OSError: [Errno 2] No such file or directory: 'testimage.jpeg' 3: 3: ----------------------------------------------------------------------
他は特に異常なし。
同じ環境では無いが同じところでエラーが発生する例がある様( https://github.com/cryoem/eman2/issues/399 )。
よくわからないが、jpegは使うことは無い気がするし、とりあえず気にせず使ってみることにする。
以上。