OSF
Solaris
Linux migration
INTRODUCTION
I've been working on many aspect of porting
NOMAD,
DZero,
CLE0
software among different platforms. Recently I worked on a port of 800+ packages
from Solaris to Linux for CLEO collaboration.
ENVIRONMENT
Three platform has been officially supported:
- Tru64/OSF1
- SunOS 2.6 and Solaris 2.8, 9, 10
- Linux, RedHat 9, RedHat Enterprise 3, 4, Scientific Linux
PROBLEM'S DISCOVERED
There were several categories
solved during this transition:
- compiler/preprocessor/linker bugs
- STL-related bugs
- OS-specific bugs
- user-related bugs.
WHAT WAS DONE
The table below summirizes a platform specific compiler options applied
during this transition:
Tool/OS |
Tru64 |
Solaris |
Linux |
compiler |
cxx/f77 |
CC/f77 |
g++/g77 |
version |
Compaq v6.2/Digital X5.2 |
Sun WorkShop 6, v5.3 |
v3.2.2 |
debugger |
ladebug |
dbx |
gdb |
C++ flags |
cxx -O -Wall -nopt -nocompress |
CC -instances=global -KPIC -mt -O |
g++ -I- -O -fPIC |
Fortran flags |
f77 -O -u static |
f77 -O -u -KPIC -mt |
f77 -I- -O -fPIC -MM -fno-automatic -fno-second-underscore -finit-local-zero |
A common set of Makefile rules has been applied to every package. A particular
example can be found
here (please note that all rights are reserved by CLEO collaboration and Cornell University).
RESULTS
We successfully deployed over 800 packages between Tru64, Solaris and Linux platforms.