Comment 1 for bug 1256305

Revision history for this message
Andreas Engelbredt Dalsgaard (andreas-dalsgaard) wrote :

The primary goal here seems to be to support installation on cluster systems or e.g. an application server where the user does not have root access. If you look in the install script most of the installation can be done without the need for root access. There is a list of packages that the script currently requires to be installed on the root system. For Ubuntu the packages are:
 bzr build-essential libtool automake libc6-dev-i386 libboost-all-dev swig git python2.7-ply ant flex libpopt-dev libtbb-dev openjdk-7-jdk python2.7-numpy

It should be reasonable to expect an administrator would install most of these without any objections. The most doubtful package would probably be openjdk-7-jdk depending on the policies for how versions of java is maintained, e.g. seperately from the OS package management system.

For the usecase where we would want to avoid the need for admins to install any packages we should recommend the use of Enthought Python Distribution(EPD) as mentioned in the install script to ease the installation of python libraries. However, there is still a number of things that would need to be done to avoid depends on an admin to install the before mentioned packages. I've tried to make a list from memory of what the packages are used for and a fix that would enable installation without root access:
1: Packages: "bzr git" are used to checkout the latest versions of various projects. Fix: Distribute tarballs of all the projects.
2: Packages: "ant openjdk-7-jdk" are used for compiling LTSmin. Fix: change the compilation arguments of LTSmin.
3: Packages: "python2.7-ply flex" are used by the parser in pyuppaal and opaal. Fix: I recall looking into this at some point but apparently only few people are redistributing the parser without these packages. It might be possible to include the needed python files. Similarly it should be possible to avoid automatically invoking flex but both will require some further investication.
4: The package: "python2.7-numpy" is used by the precomputation for the LU-extrapolation. Fix: Should be included in EPD.
5: Packages: "build-essential libtool automake libc6-dev-i386 libboost-all-dev libpopt-dev libtbb-dev swig" are used for compiling the DBM library, python bindings for the DBM library and LTSmin. Fix: We should distribute precompiled binaries for the mentioned projects. As LTSmin and the DBM library are optimised at compile time we should maybe include a script to test if the user is trying to install it on a system that will result in poor performance, e.g., with a different cache line size.

Further discussion, patches or work on any of the issues would be most welcome!