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

故障排除

问题一:petsc配置过程中报错

现象描述:

运行./configure后报错,报错信息如下:

. This script, last modified 2008-01-23, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

可能原因:

“config.guess”“config.sub”两个证书过期。

处理步骤:

  1. 执行以下命令搜索“config.guess”“config.sub”文件。
    find ./ -name config.guess
    find ./ -name config.sub
  2. 将文件中的内容更新为网址中的内容。

问题二:Boost安装过程中报错

现象描述:

运行./b2 install后报错,报错信息:“gcc: error: unrecognized command line option ‘-m64’”。

可能原因:

-m64是x86 64位应用编译选项,m64选项设置int为32bits及long、指针为64bits,为AMD的x86 64架构生成代码。在ARM64平台无法支持。

处理步骤:

执行以下命令修改Boost中的源码,将ARM64平台对应的编译选项设置为-mabi=lp64:

sed -ri 's/\-m64/\-mabi=lp64/g' `grep -Rl '\-m64'`

问题三:Python配置过程中报错

现象描述:

运行./configure后报错,报错信息:“gcc: error: directory": No such file or directory”。

可能原因:

Python老版本的bug。

处理步骤:

执行以下命令:

SVNVERSION=not-found ./configure

问题四:Chaste安装过程中报错

现象描述:

运行make -j48 Continuous后报错,报错信息:“AttributeError: 'str' object has no attribute 'format'”。

可能原因:

Format是python2.6新增的一个格式化字符串的方法。

处理步骤:

执行以下命令修改“translators.py”文件。

  1. 打开“translators.py”文件。
    vim /path/to/CHASTE/Chaste-release_2019.1/python/pycml/translators.py
  2. 按“i”进入编辑模式,修改如下内容。

    将1830行取消注释,将1831行注释掉。

    将1838行取消注释,将1839行注释掉。

    修改前:

    1830                 #self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
    1831                 self.writeln(error_template.format(self.var_display_name(var)))
    1832                 self.close_block(False)
    1833             for var in high_range_vars:
    1834                 if using_cvode:
    1835                     additional_tolerance_adjustment = ' + tol'
    1836                 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')
    1837                 self.open_block()
    1838                 #self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
    1839                 self.writeln(error_template.format(self.var_display_name(var)))

    修改后:

    1830                 self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
    1831                 #self.writeln(error_template.format(self.var_display_name(var)))
    1832                 self.close_block(False)
    1833             for var in high_range_vars:
    1834                 if using_cvode:
    1835                     additional_tolerance_adjustment = ' + tol'
    1836                 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')
    1837                 self.open_block()
    1838                 self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
    1839                 #self.writeln(error_template.format(self.var_display_name(var)))
  3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。