Rate This Document
Findability
Accuracy
Completeness
Readability

Troubleshooting

Problem 1: An Error Is Reported During PETSc Configuration

Symptom

After the ./configure command is run, the following error information is displayed:

. 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

Possible Causes

The config.guess and config.sub certificate files have expired.

Procedure

  1. Search for the config.guess and config.sub files.
    find ./ -name config.guess
    find ./ -name config.sub
  2. Replace the content in the files with the content at the links.

Problem 2: An Error Is Reported During Boost Installation

Symptom

After the ./b2 install command is run, the error message "gcc: error: unrecognized command line option '-m64'" is displayed.

Possible Causes

-m64 is an x86 64-bit application compilation option. The length of int is set to 32 bits, and the lengths of long and pointer are set to 64 bits to generate code for the AMD x86 64-bit architecture. However, ARM64 does not support this setting.

Procedure

Modify the Boost source code and set the compilation option for ARM64 to -mabi=lp64.

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

Problem 3: An Error Is Reported During Python Configuration

Symptom

After the ./configure command is run, the error message "gcc: error: directory": No such file or directory" is displayed.

Possible Causes

A bug exists in early Python versions.

Procedure

Run the following command:

SVNVERSION=not-found ./configure

Problem 4: An Error Is Reported During Chaste Installation

Symptom

After the make -j48 Continuous command is run, the error message "AttributeError: 'str' object has no attribute 'format'" is displayed.

Possible Causes

Format is a new method for formatting strings in Python 2.6.

Procedure

Modify the translators.py file.

  1. Open translators.py.
    vim /path/to/CHASTE/Chaste-release_2019.1/python/pycml/translators.py
  2. Press i to enter the insert mode and modify the file.

    Uncomment line 1830 and comment out line 1831.

    Uncomment line 1838 and comment out line 1839.

    Before the modification:

    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)))

    After the modification:

    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. Press Esc, type :wq!, and press Enter to save the file and exit.