Q: Why are EMAN binaries distributed the way they are rather than using standard RPM/DEB mechanisms for easy installation on Linux machines ??? (asked frequently by cluster sysops who have been asked to install EMAN2 for users)
A: Issues with distributing EMAN2 as an RPM:
- EMAN2 has a LOT of dependencies, and in many cases some of these dependencies have themselves had bugfixes over the last year or two which are required for EMAN2 to function properly. This makes it impossible to make a binary RPM for older linux distributions, which are often used on large clusters. For example:
- BerkeleyDB fixed some issues that lead to frequent database corruption problems
- Boost python fixed a number of memory leaks (which could be serious for very long runs)
HDF significantly improved performance for files with large numbers (>10000) of images
- Python itself added new features we now make use of (we now require 2.5 at minimum (but not 3.0))
- To handle this issue, we distribute our binaries containing all library dependencies and even a python interpreter, all named and linked to specific library versions such that it has a minimum chance of interfering with any system installed libraries of the same name. While there are a few conflicts with other scientific binary distributions which are not designed in such a system-friendly manner, such issues are rare.
- Our binary distributions will work on pretty much any Linux distribution newer than FC3, and we do not have to produce 30 different distributions for every version of every platform.
- Our distributions can be installed by users in their own home directory in a few minutes of effort, and can then be upgraded at need.
- EMAN2 is at the same stage of development EMAN1 was in a decade ago. While everything is working well in general, we still routinely fix important bugs or add important new features, and have multiple releases per year (in addition to daily snapshots). It is important for users to be able to upgrade at need.
- We DO provide full source releases as well for more adventurous users who want to build EMAN2 from source (be warned, the number of dependencies and version requirements are such that this process is not for the weak of heart, and should largely be limited to very recent Linux/Mac versions)
- If someone outside wants to volunteer to produce RPMs/DEBs for specific Linux distros and EMAN2 versions, we would be more than happy to host them, but our internal manpower limits what we can do along these lines in-house.