So, I'll show you how to build 3.2.2 from source. It's a little trickier than implied in the above-linked thread, and the Terracotta Build Page doesn't explain it all.
First, we need to check out the 3.2.2 source code:
svn co http://svn.terracotta.org/svn/tc/dso/tags/3.2.2
Next, set up some required environment variables. Terracotta needs to know where your JRE, JDK, and Ant live. The following locations worked for me on my Ubuntu 10.04 install with Sun's Java 6, substitute the locations for your OS/Java distro:
export ANT_HOME=/usr/share/ant export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre export JAVA_HOME_16=/usr/lib/jvm/java-6-sun
In my case, I only have Java 6, and I don't care about previous versions of Java. So we need to instruct the Terracotta build system to not try to use older releases. Modify the file 3.2.2/code/base/jdk.def.yml to comment out the Java 1.5 stuff:
# # All content copyright (c) 2003-2006 Terracotta, Inc., # except as may otherwise be noted in a separate copyright notice. # All rights reserved # # Defines the various JDKs used by the build system. # # Each JDK specification begins with a unique name that uniquely identifies # the JDK version. After the name come the following attributes: # # min_version: The minumum JDK version # max_version: The maximum JDK version # env: A list of names of configuration properties that the build system uses # to locate the JDK installation # alias: A list of alternative names for the JDK #J2SE-1.5: # min_version: 1.5.0_0 # max_version: 1.5.999_999 # env: # - J2SE_15 # - JAVA_HOME_15 # alias: # - tests-1.5 # - "1.5" JavaSE-1.6: min_version: 1.6.0_0 max_version: 1.6.999_999 env: - JAVASE_16 - JAVASE_6 - JAVA_HOME_16 alias: - tests-1.6 - "1.6"
Ok, now we're ready to build. Here's what I used to build the core Terracotta distribution using the Sun JDK. You may need to tweak the jdk parameter as needed for the location of your jdk.
cd 3.2.2/code/base ./tcbuild --no-extra dist dso OPENSOURCE jdk=/usr/lib/jvm/java-6-sun
The build will download all its dependencies and compile the Terracotta release. Note that this is the core distribution only, it does not build TIMs or anything like that. Once the build is complete, there will be a new folder
3.2.2/code/base/build/dist
This contains the Terracotta distribution that you would have downloaded.
Thanks a lot - saved my life.
ReplyDelete