ANTs安装问题记录

Ubantu 18.04系统,MobaXterm软件。

ANTs安装

Compiling ANTs on Linux and Mac OS · ANTsX/ANTs Wiki · GitHub

  • 不确定使用SuperBuild是否可行,遂一一安装developer tools。

    可行,因为SuperBuild就是开发者模式的精简版,仅仅在ccmake配置的时候有变化。

前置
  • git

    sudo apt-get -y install git
    
  • gcc等

    sudo apt-get install build-essential # 安装gcc和一些库函数,提供C/C++编译环境
    
  • Zlib

    有的攻略装了,有的没有,我装了,但不知道有没有用。

    sudo apt-get -y install zlib1g-dev
    
  • CMake

    安装过程不会在linux系统安装教程中提到,这里列出:

    以下为apt安装,但版本老旧,2023-3-22日安装位3.10.0版本,不可用。ccmake包含在gui这个库里。

    sudo apt-get -y install cmake
    sudo apt-get -y install cmake-curses-gui
    

    失败记录:

    安装最新版本CMake(3.26.0,2023-3-22),但是同样版本的ccmake不会被同时安装,国外帖子说是因为没有libncurses5-dev以及libncursesw5-dev(https://askubuntu.com/questions/1047829/ccmake-update-ubuntu-16-04-lts),于是我装了,不知道对后面成功经历是否有用

    sudo apt-get install libncurses5-dev libncursesw5-dev
    

    重新configure、make、make install,编译完成后ccmake --version还是没有反应,如果还是3.10.0,也就是apt安装的旧版本,请删掉:

    sudo apt remove cmake
    sudo apt remove ccmake #只会删掉apt安装的版本.
    

    遂尝试使用cmake的方法,即下次失败尝试。

    ccmake用于在终端中打开ANTs的cmake配置,有教程说是可以用cmake-curses-gui(cmake自带),但我安装好后显示连接不到X-DISPLAY,无法配置。附上链接:成功经验!!!Ubuntu16.04安装ANTs_ubuntu_九天那个好揽月-DevPress官方社区 (csdn.net))。提示:文中bootstrap拼写错误,需要更改。

    文中报错CMake:Error at Source/QtDialog/CMakeLists.txt:28 (Message):Could not find a valid Qt installa,我安装qt4无法解决,安装qt5后没有报错,以此类推,如果以后版本更新可能用qt6。

    sudo apt-get install qt5*
    sudo apt-get install qt5-default
    

    编译没问题,cmake-gui命令显示连接不到X-DISPLAY,无法按照教程定位生成,可以的同学可以继续做。

    在ANTs源代码CMakeLists.txt中,显示支持版本为3.16.3-3.19.7

    set(ANTs_OLDEST_VALIDATED_POLICIES_VERSION "3.16.3")
    set(ANTs_NEWEST_VALIDATED_POLICIES_VERSION "3.19.7")
    cmake_minimum_required(VERSION ${ANTs_OLDEST_VALIDATED_POLICIES_VERSION}..${ANTs_NEWEST_VALIDATED_POLICIES_VERSION} FATAL_ERROR)
    

    网址:Download | CMake,Older Releases中kitware下载,我选择3.19.6。

    tar zxvf cmake-3.19.6.tar.gz #解压
    
    sudo apt remove cmake # 移除旧版本,apt安装的版本
    cd cmake-3.19.6
    ./configure
    make
    sudo make install #编译三部曲
    cmake --version  #查看camke版本
    ccmake -- version #查看ccmake版本,与cmake版本要一致,不一致我报错了
    

    此处我安装cmake之后,自动有对应版本的ccmake,可见至少此版本ccmake是cmake附带的,不知道与前面ncurses的两个库有没有关系。

基于源码安装ANTs

此阶段出现的问题基本全都是网络问题。

  • 配置代理

    为防止出问题(之前出过),我每次打开都开代理。

  • CLONE ANTs

    git clone git://github.com/ANTsX/ANTs.git #从github上克隆相应的仓库,保存在当前目录下的ANTs文件夹下
    
    • 报错:
    fatal: unable to connect to github.com:
    github.com[0: 你的IP]: errno=Operation timed out
    
    • 原因:
      需要用https才能读到数据
    • 解决方法:输入命令
    git config --global url."https://github.com".insteadOf git://github.com
    
    • 再次clone。
  • 运行

    mkdir antsbin  #创建antsbin文件夹
    cd antsbin  #进入antsbin文件夹
    ccmake ../ANTs  #进入cmake界面,按下'C'键,等待,出现设置,存放位置可以改,但不会的话可以不改。再按下'C'键和'G'键,完成设置,生成后回到命令行
    

    ccmake的配置中,有几个最好改掉:

    1. RUN_LONG_TESTS 和 RUN_SHORT_TESTS 改成 OFF。不知道有没有用,似乎很多博主都建议改掉。
    2. BUILD_TESTING改成OFF,官方教程说这用来解决“Compilation starts but hangs with no error message”的问题。
    3. SuperBuild_ANTS_USE_GIT_PROTOCOL,这个设置2023-3-22已经没有了,如果持续卡在cloning into ITK5已经不是这个问题了,下面会说。
    4. 如果中途退出,还是要cd antsbin,在该文件夹下执行ccmake命令。
  • build

    最有问题的阶段。

    make -j 2 2>&1 | tee build.log # 建议直接用问题三中nohup命令
    
    • 问题一:MobaXterm设置

      卡在cloning into的时间非常久,不操作与服务器的连接会断,在MobaXterm-settings-configuration-SSH中,把SSH settings-SSH keepalive勾选上。

    • 问题二:github问题

      失败也可能是连接github有问题,除了上面提到的git config步骤,我选择了官方github-issue中有人建议的git config --global url."https://".insteadOf git://,不清楚有没有用,但是我用了也成功了。

    • 问题三:还是断线问题

      直接nohup make -j 2 2>&1 | tee build.log & ,挂它一晚上,十二个小时后我再来已经成功了:

      [100%] Built target ANTs
      
    • 问题四:执行该命令失败,再执行报错:

      Error removing directory "/data/zwz/build/ITKv5".
      CMake Error at ITKv5-prefix/tmp/ITKv5-gitclone.cmake:12 (message):
        Failed to remove directory: '/data/zwz/build/ITKv5'
      
      
      CMakeFiles/ITKv5.dir/build.make:109: recipe for target 'ITKv5-prefix/src/ITKv5-stamp/ITKv5-download' failed
      

      上一个新建的文件夹还在clone,新建一个antsbin,文件夹名随意,进入新文件夹下ccmake,也就是从运行-cd antsbin开始重复。记得之后配置环境变量也要用新文件夹名。

卡在build step时,修改git配置提升clone速度。

git config --global http.postBuffer 524288000 # httpBuffer加大 
git config --global http.maxRequestBuffer 100M
git config --global core.compression 0 # 压缩配置

# 修改配置文件
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

最开始按照官方教程一步步来的时候似乎使用过该方法,好像有用,但最终没有成功,忘记是为什么了。

  • Install

    cd ANTS-build
    sudo make install 2>&1 | tee install.log  
    

    有博主提到不加sudo报错,我们从谏如流。附链接:ANTs安装踩坑记录 - 哔哩哔哩 (bilibili.com)

    编译完之后如果在 antsbin 目录下出现 bin 目录,就可以添加环境变量了,我没有 bin 目录,需要自己建立 bin 目录,并把三个地方的文件拷贝进去:

    cd antsbin# 在 antsbin 目录下
    mkdir bin #在antsbin下建立bin目录
    cp ./ANTS-build/Examples/* ./bin # 将ANTS-build/Examples下的文件复制到bin目录中
    cp ./staging/bin/* ./bin #将staging/bin下的文件复制到bin目录中
    cp ../ANTs/Scripts/* ./bin #将ANTs/Scripts下的文件复制到bin目录中
    

    cp ./ANTS-build/Examples/* ./bin之后,显示该文件夹下有CMakeFiles文件夹,不能递归复制,可以用cp -r命令复制,不过我没管,后面测试也没问题,使用不知道有没有问题。

  • 添加环境变量

    vi ~/.bashrc
    

    按i开始编辑,下面会变成INSERT模式,用方向键把光标移到最后空白行,加入:

    export ANTSPATH=/data/username/antsbin/bin/
    export PATH=“$ANTSPATH:$PATH”
    

    我是存在根目录/data/username目录下的,找到自己新建的antsbin文件夹在哪,ANTSPATH改成对应路径。

    按下Esc,退出编辑模式,按下冒号“:”(shift+:),输入wq,保存退出。

    source ~/.bashrc
    

    激活环境配置。

  • 检验安装成功

    which antsRegistration
    

    输出文件位置。

    antsRegistrationSyN.sh
    

    输出使用说明。

  • 参考(51条消息) Ubuntu 18.04 下如何安装ANTs_水木自亲的博客-CSDN博客

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值