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:
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
- 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
- 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 libstdc++.so.5 and log4cxx (native) loading libstdc++.so.6 . 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 liblog4cxx.so in $STAR/.$STAR_HOST_SYS/lib/ and $STAR/.$STAR_HOST_SYS/LIB/
- ...