Scientific Linux 4.4 from 3.0.5


Natively compiled libraries

Under Scientific Linux 44, the following library versions (and greater) are natively compiled: SL06g, SL07a, SL07b, SL07c, ... etc ... You can safely compile your code and work with those libraries.

Information for site administrators: In order to provide native support, the following tag had to be released
 SL06g -> SL06g_2
SL07a -> SL07a_3
SL07b -> SL07b_2
SL07c -> SL07c_2

Please, update your libraries rec-compile your libraries before and after the upgrade for consistency.

Non natively compiled libraries

There are however no guarantees that a mix of non-natively compiled libraries and natively compiled private code would work. Hence, the instructions below may work for some users but in no case represents a confirmation of full functionality. Especially, if you encounter a symbol mangling issue (symbols not being found in STAR libraries), it would likely be an indication of an incompatibility.

Library SL05e < version <= SL06f

Are supported via backward compatibility links to Scientific Linux 3.0.5 natively compiled libraries.

Information for users/all: the following issues are known:
  • The compiler may spit the following warning while compiling
    error: extra `;'
    This problem appears due to the use of the -pedantic option in our compilation options. Unfortunately, not all the pedantic issues were caught and SL44 compiler is stricter in that regard.
    To circumvent this problem, either fix your user code or use the following recipe - the example is given for STAR Library SL05c (please adapt for other libraries) ; this needs to be done only once
    cvs co -rSL05c mgr/
    sed "s/-pedantic //" mgr/ >mgr/
    mv -f mgr/ mgr/
    compile as usual ...

Library SL05f < versions <= SL05e

Are supported via backward compatibility link through Scientific Linux 3.0.2 .

Library versions <= SL04f

Are supported via backward compatibility links through RedHat 8.0 .

Instructions for administrators

SL4.4 out of the box may not work for the STAR typical environment and usage. The following issues were identified and need attention:

Kernel parameters adjustments

The following lines need to be added to /etc/sysctl.conf
vm.dirty_ratio = 10
vm.lower_zone_protection = 150
vm.dirty_writeback_centisecs = 500
Default for the last parameter is 500 but left in for consistency as we may need to adjust later. You can always test the changes under a running kernel conditions by instead modifying the equivalent /proc/sys/vm files but the settings would likely be lost at the next reboot unless you set them in sysctl.conf.

echo 150 >/proc/sys/vm/lower_zone_protection  
echo 10  >/proc/sys/vm/dirty_ratio
echo 500 >/proc/sys/vm/dirty_writeback_centisecs
ROOT 5.12.00 and ROOT4STAR adjustments
  1. For creating backward compatibility links in the STAR libraries
    • get a recent copy of the mgr/CreateLinks script (tag SL07d or newer)
    • go to the STAR library versions between L <= SL06f
    • execute the CreateLinks scripts with argument "init"
    Note: do NOT do this in a native library i.e. in any STAR libraries L >- SL06g
  2. Issue with log4cxx and incompatible libstdc++
    An incompatibility between libstdc++ versions was found when running root4star linked under older Scientific Linux (gcc) versions under SL4.4: root4star (backward compatible compiled) loads and log4cxx (native) loading . To avoid the issue, the work around is to ensure a copy of an older version of liblog4cxx exists in all backward compatible STAR libraries supporting the logger: this include SL05f < L <= SL06f. The recipe follows
    • Keep a copy of log4cxx from Scientific Linux 3.0.5 on your system before the upgrade. This is located in $OPTSTAR.
    • For each STAR Library L mentioned above, copy your saved in $STAR/.$STAR_HOST_SYS/lib/ and $STAR/.$STAR_HOST_SYS/LIB/
  3. ...