I was playing around with a different way to easily distribute a compiled version of ASPECT for Linux. The system is called AppImage (https://appimage.org/), and ideally it could allow us to distribute a single file that contains a working ASPECT version for all decently new Linux distributions (useful for example for tutorials, instead of big virtual machines). If you have a minute and are running Linux I would be happy to get feedback if it works on your machine. Testing works as follows:
- Check if you distribution is recent enough (Ubuntu >=16.04, Debian >=9, RHEL >=8, Fedora >=24)
- Download my preliminary image from here (90 MB): https://www.dropbox.com/s/ywoku0nj377zy4f/ASPECT-current-x86_64.AppImage?dl=0
- Make the image executable:
chmod +x ASPECT-current-x86_64.AppImage
- Execute the file (
./ASPECT-current-x86_64.AppImage) and check if you see the ASPECT header. If you get errors about FUSE, try to do the following instead:
./ASPECT-current-x86_64.AppImage --appimage-extract ./squashfs-root/AppRun
- If you use MPICH as your MPI implementation please also test if you can run it in parallel (
mpirun -np 2 ASPECT-current-x86_64.AppImage). OpenMPI is currently not possible (though if we decide to do this, we could easily offer two different files, one for OpenMPI and one for MPICH).
If this works, you should be able to run parameter files like normal. The speed should be nearly identical to a natively compiled ASPECT. There are a few caveats since this is early testing:
- You need to trust me that the file I linked above is not malicious (run it in a virtual machine if you are concerned). Later we can sign the image like what is done for official packages.
- Everything in ASPECT that relies on ASPECT_SOURCE_DIR will not work unless you provide absolute paths, in particular all default paths to data files will fail (can be worked around later).
- You can currently not compile shared libraries (user plugins) against this binary. Again this is something we can find a solution for.
If I get enough feedback that this is interesting and useful I can spend some more time making the method more robust and convenient, for now I would like to hear if it works for most of us who are interested.
Let me know what you think.