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
- Search for the config.guess and config.sub files.
find ./ -name config.guess find ./ -name config.sub
- 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.
- Open translators.py.
vim /path/to/CHASTE/Chaste-release_2019.1/python/pycml/translators.py
- 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))) - Press Esc, type :wq!, and press Enter to save the file and exit.