Making ACE2 to work on Ubuntu 20.04 LTS
ACE2 is (or was) a software package for contrast transfer function (CTF) estimation and correction. It was written in an early version of objective-c and linked to several libraries of very old versions. As such, on a modern Linux system, such as Ubuntu, you have to do some extra work to get it working after downloading and extracting the ACE2 package.
- ACE2 directly calls for
libobjc.so.2in the user lib. There are a number of ways to perhaps link a newer version of thelibobjcshared lib, but an rpm package is available to provide the exact file. As such, download the rpm and extract the files usingrpm2cpio. Copy the two fileslibobjc.so.2andlibobjc.so.2.0.0into/usr/lib/x86_64-linux-gnuwill satisfy the need. - Install
libfftw3-3andlibgsl23using apt. Note that the version number may vary depending on which version of Ubuntu you are running. - Install
libgsl-dev. However, ACE2 directly callslibgsl.so.0and we have to manually make a symbolic link. Go to/usr/lib/x86_64-linux-gnuand run the following:
sudo ln -s libgsl.so libgsl.so.0 - Now you should be able to run ace2.exe and ace2correct.exe!
Updated 11/13/2024 to clarify a few libs and make steps version independent whenever possible.