External Email - Use Caution
If you are running the Freesurfer 7.3.2 release on an Apple Silicon machine (M1/M2 processor) with MacOS BigSur (11.X) or Monterey (12.X) AND have seen the error message "illegal hardware instruction", then please read following.
The "illegal hardware instruction" error can occur when running commands such as samseg and mri_synthseg. This update is not necessary if your normal workflow does not include commands that produce this error.
Please note the update should not be applied if:
- Your Mac has an Intel processor.
- Your Apple silicon machine (M1/M2 processor) is running a version of Freesurfer that is not the 7.3.2 release, e.g., a more recent development build.
UPDATE PROCEDURE:
You may not be able to run these commands without sudo/admin permissions on your machine.
1) Download the tensorflow-2.4.1-py3-none-any.whl from,
https://drive.google.com/file/d/15Qeve5FIA137KON67ehKIOyXy1N0PbAC/view?usp=share_link
2) Check the download is OK with the md5 command in the terminal window,
$ md5 tensorflow-2.4.1-py3-none-any.whl
MD5 (tensorflow-2.4.1-py3-none-any.whl) = fab44de8702faf65e17a22d706a525a4
DO NOT PROCEED UNTIL YOU GET THE ABOVE OUTPUT FROM the md5 command.
3) Setup the Freesurfer 7.3.2 environment (shown here as installed via .pkg file under /Applications) and verify the path to fspython is from the 7.3.2 release,
$ export FREESURFER_HOME=/Applications/freesurfer/7.3.2
$ source $FREESURFER_HOME/SetUpFreeSurfer.sh
-------- freesurfer-darwin-macOS-7.3.2-20220803-878457d --------
... environment variable settings output ...
$ which fspython
/Applications/freesurfer/7.3.2/bin/fspython
4) Uninstall the existing tensorflow package with,
$ sudo $FREESURFER_HOME/python/bin/python3 -m pip uninstall tensorflow
... apart from any warnings you should see the output ...
Successfully uninstalled tensorflow-2.4.1
5) Install the package downloaded above. This command assumes the package is in the current directory where the command is run.
$ sudo -H $FREESURFER_HOME/python/bin/python3 -m pip install ./tensorflow-2.4.1-py3-none-any.whl
... apart from warnings and output about requirements (which should all be satisfied) ...
... you should see tensorflow was updated ....
Successfully installed tensorflow-2.4.1
CHECK THE UPDATE:
$ which fspython
/Applications/freesurfer/7.3.2/bin/fspython
$ fspython
>>> import sys, os
>>> import tensorflow
>>>
You should see the prompt return to ">>>" after the import of tensorflow with no errors reported. Hit Ctrl-D to escape the python session. The update should now be complete.