Difference between revisions of "TotalRecall Build Guide"

From Computational Memory Lab
Jump to: navigation, search
Line 25: Line 25:
 
== Ubuntu ==
 
== Ubuntu ==
 
* Install JDK 6
 
* Install JDK 6
 
+
 
<pre><nowiki>
 
<pre><nowiki>
sudo apt-get install sun-java6-jdk
+
sudo apt-get install sun-java6-jdk
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Install Apache Ant
 
* Install Apache Ant
 
+
 
<pre><nowiki>
 
<pre><nowiki>
sudo apt-get install ant
+
sudo apt-get install ant
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Install Git (skip if you don't plan to build version straight out of repository)
 
* Install Git (skip if you don't plan to build version straight out of repository)
 
+
 
<pre><nowiki>
 
<pre><nowiki>
sudo apt-get install git-core
+
sudo apt-get install git-core
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* If on a 64-bit machine install 32-bit development headers
 
* If on a 64-bit machine install 32-bit development headers
 
+
 
<pre><nowiki>
 
<pre><nowiki>
sudo apt-get install libc6-dev-i386
+
sudo apt-get install libc6-dev-i386
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Download a stable or nightly version of the project source from the [[memory.psych.upenn.edu/TotalRecall|program homepage]] or get it straight out of the repository
 
* Download a stable or nightly version of the project source from the [[memory.psych.upenn.edu/TotalRecall|program homepage]] or get it straight out of the repository
 
+
 
<pre><nowiki>
 
<pre><nowiki>
git clone git://github.com/ymasory/Penn-TotalRecall.git
+
git clone git://github.com/ymasory/Penn-TotalRecall.git
cd Penn-TotalRecall
+
cd Penn-TotalRecall
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Compile + install the native libraries
 
* Compile + install the native libraries
 
+
 
<pre><nowiki>
 
<pre><nowiki>
ant install_native
+
ant install_native
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Compile the Java portion into a jar
 
* Compile the Java portion into a jar
 
+
 
<pre><nowiki>
 
<pre><nowiki>
ant package_jar
+
ant package_jar
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Run the program
 
* Run the program
 
+
 
<pre><nowiki>
 
<pre><nowiki>
java -jar dist/PennTotalRecall.jar
+
java -jar dist/PennTotalRecall.jar
</nowiki></pre>
+
</nowiki></pre>
  
  
Line 85: Line 85:
 
* Install Git using [http://code.google.com/p/git-osx-installer/downloads/list?can=3 this installer] (skip if you don't plan to build version straight out of repository)
 
* Install Git using [http://code.google.com/p/git-osx-installer/downloads/list?can=3 this installer] (skip if you don't plan to build version straight out of repository)
 
* Download a stable or nightly version of the project source from the [[memory.psych.upenn.edu/TotalRecall|program homepage]] or get it straight out of the repository
 
* Download a stable or nightly version of the project source from the [[memory.psych.upenn.edu/TotalRecall|program homepage]] or get it straight out of the repository
 
+
 
<pre><nowiki>
 
<pre><nowiki>
git clone git://github.com/ymasory/Penn-TotalRecall.git
+
git clone git://github.com/ymasory/Penn-TotalRecall.git
cd Penn-TotalRecall
+
cd Penn-TotalRecall
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Compile + install the native libraries
 
* Compile + install the native libraries
 
+
 
<pre><nowiki>
 
<pre><nowiki>
ant install_native
+
ant install_native
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Compile the Java portion into a jar
 
* Compile the Java portion into a jar
 
+
 
<pre><nowiki>
 
<pre><nowiki>
ant package_jar
+
ant package_jar
</nowiki></pre>
+
</nowiki></pre>
  
  
 
* Run the program
 
* Run the program
 
+
 
<pre><nowiki>
 
<pre><nowiki>
java -jar dist/PennTotalRecall.jar
+
java -jar dist/PennTotalRecall.jar
</nowiki></pre>
+
</nowiki></pre>
  
  

Revision as of 23:47, 12 April 2010


<<html(

Penn TotalRecall Build Guide

)>>

This document is for developers only. We provide easy installers for end-users.

Open-source software is a collaborative effort. Please inform us if anything on this page is incorrect or out of date.

The main development guide is located here.

<<TableOfContents(3)>>

Nightly builds

Nightly builds are performed around 5am and transferred to memory. sagan does the Mac and source distributions, rhino does the Linux distribution. We don't have an always-on Windows machines so the Windows builds are not nightly.

Building TotalRecall from source

Compiling TotalRecall for use on your own computer is designed to be very easy. The following instructions have been tested on recent versions of the operating systems described. To see which exact compilers and buildtool versions we used, see the build.xml file in the project.

Fair warning: these instructions are only for getting the program running on your computer, not for packaging things into nice standalone applications/installers. So they do involve moving our shared libraries into system paths (`/usr/lib`, `C:\Windows\System32`, and `C:\Windows\SysWow64`). Don't forget they're there if you edit the source code and want to try out your changes.

Ubuntu

  • Install JDK 6
 sudo apt-get install sun-java6-jdk
 


  • Install Apache Ant
 sudo apt-get install ant
 


  • Install Git (skip if you don't plan to build version straight out of repository)
 sudo apt-get install git-core
 


  • If on a 64-bit machine install 32-bit development headers
 sudo apt-get install libc6-dev-i386
 


  • Download a stable or nightly version of the project source from the program homepage or get it straight out of the repository
 git clone git://github.com/ymasory/Penn-TotalRecall.git
 cd Penn-TotalRecall
 


  • Compile + install the native libraries
 ant install_native
 


  • Compile the Java portion into a jar
 ant package_jar
 


  • Run the program
 java -jar dist/PennTotalRecall.jar
 


Mac OS X

  • Install XCode developer tools. These come on your OSX installation disc. You can also download them from Apple after registering.
  • Install Git using this installer (skip if you don't plan to build version straight out of repository)
  • Download a stable or nightly version of the project source from the program homepage or get it straight out of the repository
 git clone git://github.com/ymasory/Penn-TotalRecall.git
 cd Penn-TotalRecall
 


  • Compile + install the native libraries
 ant install_native
 


  • Compile the Java portion into a jar
 ant package_jar
 


  • Run the program
 java -jar dist/PennTotalRecall.jar
 


Windows

The full build chain

Our build.xml does some fancy stuff like creating native executables and installers for the supported platforms. Read the documentation in build.xml to find out how. This native integration allows us (with the help of a few tricks) to avoid complex installers that tamper with users' shared libraries.