The New Download and Installation Mechanisms in CCP4 6.0

Francois Remacle, Peter Briggs

CCP4, Daresbury Laboratory, Warrington WA4 4AD, UK


With many recent developments going on, the size of CCP4 program suite has grown continuously. With the latest version there has been large scale software added into it. Altogether internal dependencies, operating system dependent availability has lead to a complex package to deal with.

In the previous releases, users were forced to take responsibility for finding what they needed and understanding the instructions on how to install/build it on their particular system. Very often this meant turning to network or computer system technicians to ask them to do it on their behalf.

It is in this context that the packages selection from the new system was introduced, to make things easier for end users without requiring them to have any deep knowledge of their system, and by showing them directly what is only available for their particular machine.


We will describe in the three following parts, what the new download system looks like, how the new installation mechanism works, and give some information about how it might be enhanced in the future

Download Mechanism

Along with the test releases of version 6.0 of CCP4, a new download and installation mechanism has been developed and tested. There was a need to develop a new mechanism to give users a quick and easy way to find what they want for the platform they are using. The idea was to provide users with as much automatic aid as possible in order for them to act as supervisors that can overrule decisions if they want, but would have very few things to do otherwise.

After exploring different ways of presenting the relevant information we finally chose the presentation style you can see in figure 1.

Figure 1: Download Home page

Even though there was the clear intention of making the process identical on each platforms. Windows and Macintosh users are treated differently because those systems have specific installation mechanism. Therefore they are directed immediately to a download step where they can pick up the easy "click and go" installers.

Figure 2: Windows Download / MacOs Download

The other platforms, as shown in figure 3, presents users with a choice of software available for the platform they have chosen. Sometimes only executables are available, some times only source code, sometimes both. This depends on the choice of platform. Users can then select what to download or simply ask for everything.

Figure 3: Package Selection

As some of the software depends on other packages to work properly, the selection will be checked for users to ensure they do not forget these (cfr figure 4 left). However, any dependencies will only appear as a suggestion, this means that users are the ones who take the final decision. The next step, as shown in the right part of figure 4,  will then provide users with a summary of their choice with the compressed size (how big the size of the download file will be) and uncompressed size (how much space it will take on your hard disk when unpacked). By agreeing to the license user will then be directed to download step.

Figure 4: Dependency checking / Final summary

The server will give back a single "customised" file for download that contains only the specifically requested packages and tools. It can take the server several minutes to package up a particular combination of components "on the fly". However, this is only done once for each combination because the result is cached in order for subsequent requests for the exact same set of components to be downloaded immediately (N.B: it sometimes happens that archive are corrupted when being packaged up, either due to very old web browser either due to a concurrent packaging). Before a release, we will pre-generate the most popular combinations (according to our website statistics) to make the downloads quicker.

Installation Mechanism

As stated above there is a difference in installations between Windows/Macintosh and the other platforms. The reason is that both Macintosh systems and Windows have their own easy installers, as shown in figure 5, where an installation wizard guides you step by step.

Figure 5: Windows Installer / MacOs Installer

People who are less familiar with UNIX software installation can be intimidated by large software packages like CCP4, particularly when there are diverse components which each have different installation procedures. The new download mechanism helps them to select the packages that they want but there is still the problem of how to actually install the software and make it useable once it is downloaded. To cope with this problem, as part of the download process the server also secretly generates an installation script which is customised to the exact choice of packages requested by the user.

The philosophy of the installation script is similar to the download mechanism: it hides much of the detail from the user and presents only the essential choices that need to be made, in a friendly fashion. The user is given an initial choice of either a "fully automatic" default installation, or a "custom" installation where they have more control. In the first case (see figure 6), the process is reduced to just two questions after which the script should run to completion without further user intervention, simply displaying information about its actions as it goes along.

Figure 6: Simple Case

In the case of the custom installation (see figure 7), the user is asked more fine-grained questions. They can either take the script's defaults or else change as few or as many options as they wish.

Figure 7: Advanced Case

Hopefully everything is then installed and prepared for you to setup your Unix system environment easily. In the event that something goes wrong, the installation script keeps track of specific error messages from the process, and writes these to a special file. This error file is checked at the end to see if anything went wrong. If this is the case then the error log provides a quick way to locate the error, instead of having to go through loads of compiler output. This also makes error reporting easier - the user can provide the CCP4 staff with the log files from the installation, and this helps us to identify and address the problem for the user.


Currently there are a number of different ideas being investigated to further improve the installation mechanism.


Most of the development of the download pages has been done by Francois Remacle with the guidance and participation of the other CCP4 staff based in Daresbury.

We would like to thank all the CCP4 developers and beta-testers who helped us test the pages to identify the best design, solve problems and improve the pages to the state they are now in.

Finally we also would like to thank all CCP4 users for using the suite and helping us improve it through their feedback and comments.