19-Nov-2009 novatest01 log¶
Here are the steps that I used to package Castor 1.3 for UPS/UPD on novatest01:
- Downloaded castor-1.3.tgz from http://www.castor.org/download.html.
- Downloaded castor-1.3-doc.tgz from http://www.castor.org/download.html.
- Downloaded commons-logging-1.1.1-bin.tar.gz from http://commons.apache.org/downloads/download_logging.cgi.
- switched to the products account
- 'cd /fnal/ups/prd/castor'
- 'mkdir v1_3'
- 'cd v1_3'
- 'tar --gunzip -xvf <downloadDir>/castor-1.3.tgz'
- 'mv castor-1.3 Linux64bit+2.6-2.5'
- 'cd Linux64bit+2.6-2.5'
- 'tar --gunzip -xvf <downloadDir>/castor-1.3-doc.tgz'
- 'tar --gunzip -xvf <downloadDir>/commons-logging-1.1.1-bin.tar.gz commons-logging-1.1.1/commons-logging-1.1.1.jar'
- 'mv commons-logging-1.1.1/ apache-commons'
- 'mkdir ups'
- 'cd ups'
- copied the castor.table file from the v1_0_5 UPS version
- edited castor.table to include all of the new castor jars and the commons-logging jar in the Java CLASSPATH
- edited castor.table to remove the dependency on xerces_java
- 'ups declare -f Linux64bit+2.6-2.5 -r /fnal/ups/prd/castor/v1_3/Linux64bit+2.6-2.5 -m castor.table castor v1_3'
- Something in the new version of Castor seems to get confused by the "integer" data type in XSD files. The symptom is that some of the generated methods for integer fields return a Long while others expect an Integer. Switching to a data type of "int" fixes this. So, I modified our existing XSD files to have "int" data types rather than "integer".
A couple of additional notes:
- The Castor "dependencies" page (http://www.castor.org/dependencies.html) says that any version of Apache Commons Logging 1.1 or later works with Castor 1.3, so I included commons-logging 1.1.1.
- Rather than make a full UPS package with the full commons-logging-1.1.1 distribution, I simply made a directory in the Castor UPS package for the needed Jar file. This may turn out to be the wrong decision, but for now, it seems like overkill to create a UPS package just for one Jar that is needed for one tool.
- The Castor "dependencies" page also says that Xerces (Java) 1.4 or greater is needed for Java 1.4 and lower. Since we're using Java 1.6, we removed the dependency on xerces_java from the Castor UPS table file. If we find that we need to put this back, the current UPS version of xerces_java (v2_9_0) is probably fine. (The newest version of Xerces-J that is currently available is 2.9.1.)