-
Notifications
You must be signed in to change notification settings - Fork 9
Description
At the moment the setup.py script is quite messy and have basically been continuously tweaked by me (and some co-authors) to be able to install it on our respective systems (including a Macbook Pro and a linux server running Ubuntu).
The install is straight-forward on Ubuntu after some requirements like openmp are installed but the installation on the Mac requires a constant change in compiler settings (mainly because macOS upgrades but also some changes in Cython over the years) and it would be good to find an automatic way to choose the correct compiler (i.e. system clang / gnu or the same as Sage is built with maybe?)
It would be good to structure the setup script better and make settings for various platforms automatic.
The main culprits that blocks an easy installation procedure and requirecare in choosing compilers and compiler arguments are:
- OpenMP dependent modules (for instance psage.modform.maass.automorphic_forms_alg)
- C++ modules (for instance psage.modform.hilbert.sqrt5.sqrt5_fast or psage.ellcurve.lseries.sqrt5)
In particular the C++ modules are a pain to maintain whenever Cython changes and lately I have just commented out some of them (e.g. psage.modform.hilbert.sqrt5.sqrt5_fast which just fails the Cythonize step)
Once the setup.py and module_list.py scripts are more structured I expect it o be relatively easy to update installation instructions.