中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译和安装

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令,安装图形库。
    yum install -y mesa-libGL mesa-libGL-devel mesa-libGLU mesa-libGLU-devel
  3. 执行以下命令,创建EMAN2编译运行环境。
    conda create -n eman2
  4. 执行以下命令,激活EMAN2环境。
    conda activate eman2
  5. 执行以下命令,配置EMAN2环境。
    conda install -c conda-forge _libgcc_mutex=0.1 _openmp_mutex=4.5 absl-py=1.0.0 aiohttp=3.8.1 aiosignal=1.2.0 alsa-lib=1.2.3 anyio=3.4.0 argcomplete=1.12.3 argon2-cffi=21.1.0 astor=0.8.1 astunparse=1.6.3 async-timeout=4.0.1 asynctest=0.13.0 attrs=21.2.0 babel=2.9.1 backcall=0.2.0 backports=1 backports.functools_lru_cache=1.6.4 bleach=4.1.0 blinker=1.4 boost=1.74.0 boost-cpp=1.74.0 brotli=1.0.9 brotli-bin=1.0.9 brotlipy=0.7.0 bzip2=1.0.8 c-ares=1.18.1 ca-certificates=2021.10.8 cachetools=4.2.4 certifi=2021.10.8 cffi=1.15.0 charset-normalizer=2.0.8 click=8.0.3 cmake=3.21.3 colorama=0.4.4 configparser=5.1.0 cryptography=35.0.0 cycler=0.11.0 dataclasses=0.8 dbus=1.13.6 debugpy=1.5.1 decorator=5.1.0 defusedxml=0.7.1 entrypoints=0.3 expat=2.4.1 fftw=3.3.10 fontconfig=2.13.1 fonttools=4.28.2 freetype=2.10.4 frozenlist=1.2.0  future=0.18.2 gast=0.4.0 gettext=0.19.8.1 glib=2.70.1 glib-tools=2.70.1 google-auth=2.3.3 google-auth-oauthlib=0.4.6 google-pasta=0.2.0 grpcio=1.42.0 gsl=2.6 gst-plugins-base=1.18.5 gstreamer=1.18.5 h5py=2.10.0 hdf5=1.10.6 icu=68.2 idna=3.1 importlib-metadata=4.8.2 importlib_metadata=4.8.2 importlib_resources=5.4.0 ipykernel=6.5.1  ipython_genutils=0.2.0 jbig=2.1 jedi=0.18.1 jinja2=3.0.3 joblib=1.1.0 jpeg=9d json5=0.9.5 jsonschema=4.2.1 jupyter_client=7.1.0 jupyter_core=4.9.1 jupyter_server=1.12.1 jupyterlab=3.2.4 jupyterlab_pygments=0.1.2 jupyterlab_server=2.8.2 keras-preprocessing=1.1.2 kiwisolver=1.3.2 krb5=1.19.2 lcms2=2.12 ld_impl_linux-64=2.36.1 lerc=3 libblas=3.9.0 libbrotlicommon=1.0.9 libbrotlidec=1.0.9 libbrotlienc=1.0.9 libcblas=3.9.0 libclang=11.1.0 libcurl=7.80.0 libdb=6.2.32 libdeflate=1.8 libedit=3.1.20191231 libev=4.33 libevent=2.1.10 libffi=3.4.2 libgcc-ng=11.2.0 libgfortran-ng=11.2.0 libgfortran5=11.2.0 libglib=2.70.1 libgomp=11.2.0 libiconv=1.16 liblapack=3.9.0 libllvm11=11.1.0 libnghttp2=1.43.0 libnsl=2.0.0 libogg=1.3.4 libopenblas=0.3.18 libopus=1.3.1 libpng=1.6.37 libpq=13.5 libprotobuf=3.19.1 libsodium=1.0.18 libssh2=1.10.0 libstdcxx-ng=11.2.0 libtiff=4.3.0 libuuid=2.32.1 libuv=1.42.0 libvorbis=1.3.7 libwebp-base=1.2.1 libxcb=1.13 libxkbcommon=1.0.3 libxml2=2.9.12 libzlib=1.2.11 lz4-c=1.9.3 markdown=3.3.6 markupsafe=2.0.1 matplotlib=3.5.0 matplotlib-base=3.5.0 matplotlib-inline=0.1.3 mistune=0.8.4 mpi=1 multidict=5.2.0 munkres=1.1.4 mysql-common=8.0.27 mysql-libs=8.0.27 nbclassic=0.3.4 nbclient=0.5.9 nbconvert=6.3.0 nbformat=5.1.3 ncurses=6.2 nest-asyncio=1.5.1 nodejs=16.12.0 nose=1.3.7 notebook=6.4.6 nspr=4.32 nss=3.72 numpy=1.18.5 oauthlib=3.1.1 olefile=0.46 openjpeg=2.4.0 openmpi=4.1.2 openssl=1.1.1l opt_einsum=3.3.0 packaging=21.3 pandas=1.3.4  pandocfilters=1.5.0 parso=0.8.2 pcre=8.45 pexpect=4.8.0 pickleshare=0.7.5 pillow=8.4.0 pip=21.3.1 prometheus_client=0.12.0 prompt-toolkit=3.0.22 protobuf=3.19.1 pthread-stubs=0.4 ptyprocess=0.7.0 pyasn1=0.4.8 pyasn1-modules=0.2.7 pycparser=2.21 pygments=2.10.0 pyjwt=2.3.0 pyopengl=3.1.5 pyopenssl=21.0.0 pyparsing=3.0.6 pyqt=5.12.3 pyqt-impl=5.12.3 pyqt5-sip=4.19.18 pyqtchart=5.12 pyqtwebengine=5.12.1 pyrsistent=0.18.0 pysocks=1.7.1 python=3.7.12 python-dateutil=2.8.2 python-flatbuffers=2 python_abi=3.7 pytz=2021.3 pyu2f=0.1.5 pyzmq=22.3.0 qt=5.12.9 readline=8.1 requests=2.26.0 requests-oauthlib=1.3.0 rhash=1.4.1 rsa=4.8 scikit-learn=1.0.1 scipy=1.7.3 send2trash=1.8.0 setuptools=59.4.0 six=1.16.0 sniffio=1.2.0 sqlite=3.37.0 tensorboard=2.7.0 tensorboard-data-server=0.6.0 tensorboard-plugin-wit=1.8.0 tensorflow-estimator=2.5.0 termcolor=1.1.0 terminado=0.12.1 testpath=0.5.0 threadpoolctl=3.0.0 tk=8.6.11 tornado=6.1 tqdm=4.62.3 traitlets=5.1.1 typing-extensions=4.0.0 typing_extensions=4.0.0 unicodedata2=13.0.0.post2 urllib3=1.26.7 wcwidth=0.2.5 webencodings=0.5.1 websocket-client=1.2.1 werkzeug=2.0.1 wheel=0.37.0 wrapt=1.13.3 xorg-libxau=1.0.9 xorg-libxdmcp=1.1.3 xz=5.2.5 yarl=1.7.2 zeromq=4.3.4 zipp=3.6.0 zlib=1.2.11 zstd=1.5.0 ftgl pandoc ipython=7.30
  6. 执行以下命令,安装bsddb3。
    1. 移植bsddb3生成的bsddb3包拷贝至Anaconda包目录。
      cp bsddb3-6.2.9-py37_0.tar.bz2 /root/anaconda3/pkgs/
    2. 执行以下命令安装bsddb3。
      conda install --use-local /root/anaconda3/pkgs/bsddb3-6.2.9-py37_0.tar.bz2
  7. 执行以下命令,安装tensorlfow2.4.1。
    1. 移植tensorflow 2.4.1生成的tensorflow包拷贝至Anaconda包目录。
      cp tensorflow-2.4.1-cp37-cp37m-linux_aarch64.whl /root/anaconda3/pkgs/
    2. 执行以下命令安装tensorlfow2.4.1。
      pip install /root/anaconda3/pkgs/tensorflow-2.4.1-cp37-cp37m-linux_aarch64.whl --no-deps
  8. 执行以下命令,下载EMAN2源码。
    git config --global http.sslVerify false
    git clone https://github.com/cryoem/eman2.git
    cd eman2
    git fetch --all --prune
    git checkout master
    git pull

    EMAN2的源码必须通过git clone获取,release的源码包有bug。

  9. 执行以下命令,修改“CmakeLists.txt”
    sed -i "s/-m64/-mabi=lp64/g" CMakeLists.txt
  10. 执行以下命令,编译EMAN2。
    mkdir build && cd build
    cmake .. -DENABLE_OPTIMIZE_MACHINE=ON
    make -j`cat /proc/cpuinfo| grep "processor"| wc -l`
    make install