ubuntu16.04 安装Relion4.0时 编译报错:error ‘isnan‘ was not declared in this scope

问题描述:

在已安装成功Relion3.1.1版本的Ubuntu系统环境下,尝试升级版本为Relion4.0 beta版。按照官方教程安装时,出现编译问题,即make阶段时 报错 “/src/jaz/tomography/local_particle_refinement.cpp,error ‘isnan’ was not declared in this scope”等类似信息。一直卡在make阶段。

原因

relion官方安装信息,gcc版本推荐为5.0及以上,但是Ubuntu 16.04原本自带5.3版本,所以一直没发现问题所在。搜索发现 isnan() 是C语言里面的一个函数,考虑是C编译器出现问题。原因是isnan在cmath中被取消宏定义 原因链接

解决方法:

方法1

先将gcc版本升高,在成功安装为7.5版本后,再重新编译,make通过,安装成功。(我这里直接安装的就是7.5,不知道其他版本是否可行)
apt-get install gcc-7.5

查询gcc版本命令
gcc --version

方法2

其他解决方案,需要手动改代码,本人未测试:方案链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值