[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Platform specific directory names changed in BMS




Hi All,

    I have just committed a change to the repository that changes the 
naming scheme of the platform-specific directories when the BMS system 
installs the Hall-D software when building. Formerly, only the OS name 
and architecture were used leading to names like "Linux-i686". This 
starts to become problematic when more than one kind of "Linux-i686" 
system is used with incompatible gcc versions.

    The new solution derives the name from a script called 
"osrelease.pl" which now resides in the src/BMS directory. This will 
include the osname, flavor, arch, and gcc version. Examples of the new 
names are:

 Linux_RHEL5-i686-gcc4.1.2
 Linux_RHEL4-i686-gcc3.4.3
 Linux_FC6-i686-gcc4.1.1
 Linux_Fedora9-i686-gcc4.3.0
 Darwin_macosx10.4-i386-gcc4.0.1
 Linux_Ubuntu6.06-unknown-gcc4.0.3

These directory names are more verbose, but will allow one to keep 
binaries from similar systems in the same directory tree. It also 
includes enough information to allow one to make reasonable choices if 
shopping for compatible binaries from an existing pool.

Note that this should not immediately effect anyone except those who 
live on the razor's edge of the repository. They should only need to do 
a top-level "make" invocation in src to have the new binary directories 
setup and filled.

The one potential issue I see is that osrelease.pl requires perl whereas 
I don't believe it was a requirement before. I believe perl is likely 
installed on all commonly used systems so I don't think it will be an 
issue,. Just keep aware if you run into trouble.

I am interested in hearing if the osrelease.pl script does the "right 
thing" on various OS flavors. This was originally written by Mark Ito, 
and modified some by me, but we have a limited number of platforms on 
which to test it. If you come across a platform where it doesn't give an 
accurate result, let me know so we can fix it. I'm particularly 
interested if you use a compiler other than gcc.

As always, questions or comments are welcome.

Regards,
-David

-------- Original Message --------
Subject: 	r3966 - trunk/src/BMS
Date: 	Tue, 22 Jul 2008 14:56:17 -0400
From: 	Hall-D.SVN.Repository@jlab.org
To: 	davidl@jlab.org, brash@pcs.cnu.edu, wolin@jlab.org, 
zisis@uregina.ca, mashephe@indiana.edu, remitche@indiana.edu, 
zihlmann@jlab.org, somov@jlab.org, staylor@jlab.org



Author: davidl
Date: 2008-07-22 14:56:15 -0400 (Tue, 22 Jul 2008)
New Revision: 3966

Modified:
   trunk/src/BMS/Makefile.bin
   trunk/src/BMS/Makefile.common
   trunk/src/BMS/Makefile.lib
   trunk/src/BMS/Makefile.shlib
Log:
-Renamed OSNAME to BMS_OSNAME following suggestion by Elliott. The enviro var. OSNAME is used frequently on unix flavors and can cause problems.

-Incorporated osrelease.pl script to set BMS_OSNAME. Now, instead of a simple form such as Linux-i686, a more descriptive string is used such as Linux_Fedora8-i686-gcc4.1.2. This is needed because of the numerous Linux systems out there now running with incompatible versions of gcc.





-- 

------------------------------------------------------------------------
  David Lawrence Ph.D.
  Staff Scientist                 Office: (757)269-5567   [[[  [   [ [       
  Jefferson Lab                   Pager:  (757)584-5567   [  [ [ [ [ [   
  http://www.jlab.org/~davidl     davidl@jlab.org         [[[  [[ [[ [[[
------------------------------------------------------------------------