Reason for change

This is a request to upgrade the xrootd client tools from version 20090202-1402v2 to 20091008-2019v1. The main reason for the update is that the new version runs on rhel5 whereas for the old version certain commands did not work properly on rhel5.

Testing

The new version has been installed in the Fermi xrootd application area and is available through the DEV link. All tools xrdcp, xrd.pl, xrdls and xrdprel were tested against the test and production xrootd server running on rhel3, rhel4-32, rhel4-64, rhel5-64 and rhel5-32.

Rollback

The client version is rolled back by recreating the link to the old version.

CCB Request

https://jira.slac.stanford.edu/browse/SSC-232

Details

Some of the client tools do not work on rhel5. The reason is that there is a mismatch between the bitness of the executable and the xrootd libraries. For example perl is a 32-bit executable on all architectures but on rhel5 perl attempts to load the 64bit xrootd libraries which fails.

The new version addresses the problem in the following way:

  • rhel3 (32bit) and rhel4-64 (64bit) xrootd versions are installed.
  • if xrdcp and xrd.pl are executed the 32 bit version of the xrootd release are used.
  • for xrdls the bitness is obtained from the system (which matches the one for ls)
  • for xrdprel the bitness is guessed from the command that is run with the preload library. If the bitness can not
    be guessed (shell scripts for example) the systems default is used
  • the options -32 or -64 are available to force using the 32bit or 64bit xrootd release respectively.

Besides addressing the bitness issue a new xrootd version will be used. The xrootd version is 20091008-2019. There are
are a few improvements for the xrootd client and xrdcp. In particular the annoying message about the xrootd client version is not printed anymore.

In order to update the version the link /afs/slac.stanford.edu/g/glast/applications/xrootd/PROD has to be changed to point to dist/0091008-2019v1/@sys. This is an atomic operation and clients should not fail because of this change.