Building Mondrian CmdRunner on Linux
Download the perforce repository commandline client p4 at http://www.perforce.com/perforce/downloads/index.html
Perforce commands:
 ./p4 -p perforce.eigenbase.org:1666 help
Create p4 client:
 ./p4 -p perforce.eigenbase.org:1666 -u guest client
Checkout source:
 ./p4 -p perforce.eigenbase.org:1666 -u guest sync //open/mondrian/...
To delete the client:
 ./p4 -p perforce.eigenbase.org:1666 -u guest client -d <yourclientname>
Install jdk1.5, jdk1.6Â (binary install)
Install ant (yum) (1.6.5)
Copy the database driver into place so it is packaged with the cmdrunner jar.
 cp ~/mysql-connector-java-5.1.6.jar ./lib
 cd open/mondrian
Set JAVA_HOME in build script:
 vi buildJdk16.sh
Set the shell environment
 export JAVA_HOME=/<yourpathtojdk>/jdk1.5.0_16
 export PATH=$JAVA_HOME/bin:$PATH
Using jdk1.6 gives the error:
/opt/dev/mondrian/open/mondrian/src/main/mondrian/olap4j/FactoryJdbc3Impl.java:73:
mondrian.olap4j.FactoryJdbc3Impl.MondrianOlap4jPreparedStatementJdbc3 is not abstract
and does not override abstract method setNClob(int,java.io.Reader) in java.sql.PreparedStatement
Run the build:
 ant cmdrunner
build.xml fails on line 1116 "type doesn't support osfamily attribute":
remove osfamily attribute and replace with os:
  vi build.xml and modify line 1116 and 1117
  <exec os="unix" executable="${unix.script}"/> <exec os="windows" executable="buildJdk16.bat"/>
The build does not add log4j.dtd or log4j.properties so add manually. You may wish to alter the logging settings of log4j.properties and log4j.xml. log4j.xml is already included in commandrunner.jar but you may have altered the logging options so update it too.
First extract the dtd file from the log4j.jar:
jar -xvf ../log4j.jar org/apache/log4j/xml/log4j.dtd inflated: org/apache/log4j/xml/log4j.dtd
Now update/add the files to cmdrunner.jar:
jar -uvf cmdrunner.jar org log4j.properties log4j.xml adding: org/(in = 0) (out= 0)(stored 0%) adding: org/apache/(in = 0) (out= 0)(stored 0%) adding: org/apache/log4j/(in = 0) (out= 0)(stored 0%) adding: org/apache/log4j/xml/(in = 0) (out= 0)(stored 0%) adding: org/apache/log4j/xml/log4j.dtd(in = 4913) (out= 1489)(deflated 69%)
To run:
Configure mondrian.properties to contain settings eg:
mondrian.catalogURL=file:///opt/work/mondrian_query/depana.xml
mondrian.test.jdbcURL=jdbc:mysql://192.168.10.5/ems_dev?user=dev&password=dev
mondrian.jdbcDrivers=com.mysql.jdbc.Driver
mondrian.rolap.RolapUtil=com.mysql.jdbc.Driver
Â
Create the sample schema file for catalogURL.
java -jar lib/cmdrunner.jar