Offline Software Installation on Ubuntu 7.10

From Daya Bay
Jump to navigation Jump to search

For general Ubuntu installation go to Offline Software Installation on Ubuntu.

The following tips are based on experience of installing NuWa on a Ubuntu 7.10 32-bit machine.

Prerequisite

  • Compliers:
    • gcc / g++ version 4.1

gcc / g++ 3.3 or 3.4 will not work for the compilation of ROOT. This version will be fine for gccxml. (Luckily, Ubuntu doesn't have the problematic version 4.0)

System libraries needed for external packages

This list may not be a full list, depending on how many system libraries you originally installed.

libbz2-dev
needed by Boost
libxp-dev, xbitmaps, flex
needed by OpenMotif
libglu1-mesa-dev, libxi-dev, patch
needed by OpenScientist (and GEANT4)
libxaw6-dev, libxaw-headers
needed by GEANT4 (for 9.04 install libxaw7-dev)
libxft-dev
needed by ROOT
procmail
needed by Relax (to provide the lockfile binary) (use `no configuration` mode?)
uuid-dev
needed by Gaudi
libncurses5-dev
needed by MySQL

If you have to install more, please add to the above list.

By installing all the required libraries beforehand, the installation by dybinst script should be very smooth. (as of 28 Jul 2008)

Notice that the partial failure of compilation of Boost and GEANT4 will not be noticed by dybinst and the installation will go on. It may cause later part of installation to fail. For example, the failure of GiGa with error message like this:

ERR0R: error loading library: 'libGiGa.so'
/disk1/NuWa-trunk/../external/geant4/4.9.1.p01/debian_x86_gcc4/lib/libG4UIGAG.so: 
undefined symbol: _ZTI13G4VBasicShell
make[3]: *** [../Linux-i686/GiGa.rootmap] Error 1
make[2]: *** [GiGaRootMap] Error 2
make[1]: *** [common_target] Error 2
make: *** [check_config] Error 2
CMT> Error: execution_error : make

is actually due to a failure of GEANT4 in compiling some GEANT4 UI libraries because the missing of libxaw6-dev and libxaw-headers. You have to read the log file carefully to see if there are some errors in compiling GEANT4. dybinst cannot handle the error of GEANT4 properly. A more easy way to see if there is any failure in GEANT4 is after the failure of dybinst, type

./dybinst trunk externals geant4

and the new dybinst log file is more readable and you can see which part of GEANT4 failed to compile immediately.