diff options
Diffstat (limited to 'doc/HowToBuild.html')
-rw-r--r-- | doc/HowToBuild.html | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/doc/HowToBuild.html b/doc/HowToBuild.html new file mode 100644 index 000000000..6097c5785 --- /dev/null +++ b/doc/HowToBuild.html @@ -0,0 +1,273 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <link href="../../style.css" rel="stylesheet" type="text/css"/> + <title>How to build JOGL</title> + </head> + <body> + <div id="container"> + <div id="header"> + <div id="slogan">How to build JOGL</div> + <div id="logo"><a href="http://jogamp.org/">How to build JOGL</a></div> + </div> + <div id="menu"> + <ul> + <li><a href="http://jogamp.org/">Home</a></li> + <li><a href="../../gluegen/www/">Gluegen</a></li> + <li><a href="../../joal/www/">JOAL</a></li> + <li><a href="../../jocl/www/">JOCL</a></li> + <li><a href="../../jogl/www/">JOGL</a></li> + <li><a href="../../demos/www/">Demos</a></li> + <li><a href="../../wiki/">Wiki</a></li> + <li><a href="../../deployment/jogl-next/javadoc_public/">JavaDoc</a></li> + <li><a href="../../blog/">Blogs</a></li> + <li><a href="../../forum.html">Forums</a></li> + </ul> + </div> + <div id="main"> + <div id="text" class="fill"> + + <h2>Platform and Component Requirements</h2> + <hr/> + Here is a list of platforms and components, we were able to build JOGL on,<br/> + if not stated otherwise.<br/> + + <ul> + <li> <b>Java</b><br/> + One of the following desktop Java SDK's: + <ul> + <li> <a href="http://openjdk.java.net/">OpenJDK</a> </li> + <li> <a href="http://icedtea.classpath.org/">IcedTea</a> </li> + <li> <a href="http://java.sun.com/j2se/">Sun JDK 1.6.0 or later</a> </li> + </ul> + or you may try one of the following embedded Java SDK's (not yet tested): + <ul> + <li> <a href="http://mail.openjdk.java.net/pipermail/jdk6-dev/2009-April/000455.html">OpenJDK6 for embedded ARM</a> may use <a href="http://icedtea.classpath.org/wiki/ZeroSharkFaq">Zero/Shark</a></li> + <li> <a href="http://java.sun.com/javase/embedded/">Sun JDK for Embedded Use</a></li> + </ul> + or even the JavaME SDK's (see notes): + <ul> + <li> <a href="https://phoneme.dev.java.net/">phoneME (tested with a proprietary VM build)</a><br/> + (tested with a proprietary VM build)</li> + <li> <a href="http://jamvm.sourceforge.net/">JamVM (not yet tested)</a><br/> + (not yet tested)</li> + <li> <a href="http://www.cacaovm.org/">CacaoVM (not yet tested)</a><br/> + (not yet tested)</li> + </ul> + </li> + <li> <b><a href="http://ant.apache.org/">Ant</a></b> 1.8.0 or later</li> + <li> <b><a href="http://www.kernel.org/pub/software/scm/git/docs/">Git</a></b> 1.6.0 or later<br/> + <ul> + <li> Use your Unix distribution's version, if available, or</li> + <li> <a href="http://www.kernel.org/pub/software/scm/git/">Source Code for GNU/Linux, MacOSX, ..</a>, or</li> + <li> <a href="http://code.google.com/p/msysgit/">Git on Windows</a>, + <a href="http://code.google.com/p/msysgit/downloads/list">download</a> version + <a href="http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.0.2-preview20100309.exe&can=2&q=">1.7.0</a> or later.</li> + <li> <a href="http://code.google.com/p/git-osx-installer/">git-osx-installer</a> </li> + </ul> + </li> + <li> Optional <b>NVidia Cg 2.2</b> <br/> + <ul> + <li> <a href="http://developer.nvidia.com/object/cg_download.html">Cg 2.2 Toolkit Download Page</a></li> + </ul> + </li> + + <li> <b>GNU Linux</b> x86, 32- and 64-bit<br/> + You may have to install a few developer packages ... + <ul> + <li> <b>[K]Ubuntu</b> 10.04 or later + <ul> + <li>git</li> + <li>gcc</li> + <li>libgl1-mesa-dev</li> + <li>libglu1-mesa-dev</li> + <li>xorg-dev</li> + <li>libice-dev</li> + <li>libsm-dev</li> + <li>libx11-dev</li> + <li>libxext-dev</li> + <li>libxxf86vm-dev</li> + <li>libxinerama-dev</li> + <li>libxrandr-dev</li> + <li>Optional: Your card vendor's proprietary driver</li> + </ul> + </li> + <li> <b>OpenSuSE</b> 10.2 or later + <ul> + <li>git</li> + <li>gcc</li> + <li>x11-devel</li> + <li>mesa-devel</li> + </ul> + </li> + <li> <b>CentOS / Red Hat Enterprise Linux</b> 5.4 or later<br/> + <ul> + <li>git</li> + <li>gcc</li> + <li>mesa-libGL-devel</li> + <li>xorg-x11-proto-devel</li> + <li>libICE-devel</li> + <li>libSM-devel</li> + <li>libX11-devel</li> + <li>libXext-devel</li> + <li>libXau-devel</li> + <li>libXdmcp-devel</li> + <li>libXt-devel</li> + <li>libXxf86vm-devel</li> + <li>libXinerama-devel</li> + <li>libXrandr-devel</li> + <li>Optional: Your card vendor's proprietary driver</li> + </ul> + </li> + </ul> + </li> + <li> <b>OpenSolaris</b> SPARC and x86, 32- and 64-bit + <ul> + <li> <a href="http://opensolaris.org/">OpenSolaris 2009.06 or later</a></li> + </ul> + </li> + <li> <b>MacOSX</b> Intel + <ul> + <li> git, see above </li> + <li> <a href="http://www.apple.com/macosx/">Mac OS X</a> 10.3 (note: will not work with earlier releases) </li> + <li> <a href="http://developer.apple.com/technologies/xcode.html">Xcode</a> for gcc, etc (included in OSX)</li> + </ul> + </li> + <li> <b>Windows</b>/x86 (32-bit) + <ul> + <li>Windows XP or later </li> + <li>git, see above</li> + <li> <a href="http://www.mingw.org/">MinGW</a><br/> + Read <a href="http://www.mingw.org/wiki/Getting_Started">MinGW Getting Started</a>.<br/> + We used the download script <code>mingwdl.sh</code> shown at + <a href="http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite">HOWTO Install the MinGW GCC Compiler Suite</a>.<br/></li> + <li> Not supported: Microsoft Visual C++ 6.0 or later, but may work. Last successful try in 2008.</li> + </ul> + </li> + <li> <b>Windows</b>/x86_64 (64-bit)<br/> + <ul> + <li>Windows XP or later </li> + <li>git, see above</li> + <li> <a href="http://mingw-w64.sourceforge.net/">MinGW64</a><br/> + We used the build <code>mingw-w64-bin_x86_64-mingw_20100515_sezero.zip</code> available at + <a href="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/sezero_20100515/">MingW64 Personal Builds - sezero</a>.<br/></li> + <li> Not supported: Microsoft Visual C++, never tried.</li> + </ul> + </li> + </ul> + + <p> + Additional platforms such as FreeBSD and HP/UX are handled by the + build system, but are not officially supported. + </p> + + <h2>Build Steps</h2> + <hr/> + <p> + Here are the steps that are required in order to build JOGL. + </p> + + <ol> + <li><b>Optain the source code</b> using git: + <ul> + <li><a href="http://github.com/sgothel/gluegen">Gluegen Dev GIT Repo</a></li> + <li><a href="http://github.com/sgothel/jogl">JOGL Dev GIT Repo</a></li> + </ul><br/> + It is crucial that you checkout the source code under a common root directory: + <pre> + /home/dude/projects/jogamp> git clone git://github.com/sgothel/gluegen.git gluegen + /home/dude/projects/jogamp> git clone git://github.com/sgothel/jogl.git jogl + </pre> + Now you should have following directory structure: + <pre> + /home/dude/projects/jogamp + /home/dude/projects/jogamp/gluegen + /home/dude/projects/jogamp/jogl + </pre> + </li> + + <li> <b>Unset your CLASSPATH environment variable:</b> <br/> + The Ant build requires that the JOGL jars not be visible on the classpath. On Unix, type + <code> unsetenv CLASSPATH </code> into a csh or tcsh shell, or <code> unset CLASSPATH </code> + into a Bourne shell. On Windows, type <code> set CLASSPATH= </code> into a command prompt. + </li> + + <li> <b>Optional</b> <i>Copy and edit <b>gluegen.properties</b>:</i> <br/> + To specify different basic options for components and compilers,<br/> + copy <b>gluegen/make/gluegen.properties</b> into your home directory (pointed to by the Java system property <b>user.home</b>). <br/></li> + + <li> <b>Optional</b> <i>Copy and edit <b>jogl.properties</b>:</i> <br/> + To specify different basic options for the build,<br/> + copy <b>jogl/make/jogl.properties</b> into your home directory (pointed to by the Java system property + <b>user.home</b>). <br/> + Edit the copy to change desired settings. + </li> + + <li> <b>Build the source tree:</b> <br/> + Open a command shell in the "jogl/make" directory of the source tree and type <code>"ant"</code>. + <ul> + <li> + An experimental binding to the high-level <a href="http://developer.nvidia.com/view.asp?PAGE=cg_main">Cg</a> + language by NVidia corporation can be generated by specifying <code>-Djogl.cg=1</code> to ant; e.g. + <code>ant -Djogl.cg=1</code>. The Cg binding has been tested on Windows, Linux, and Mac OS X. + </li> + </ul> + </li> + + <li> <b>Test your build:</b> <br/> Stay in your command shell in the "jogl/make" directory of the source tree and type <code>"ant junit.run"</code>.</li> + + <li> <b>Build Javadoc:</b> <br/> Stay in your command shell in the "jogl/make" directory of the source tree and type "<code>ant javadoc"</code>. + This will produce the end-user documentation for JOGL along with some auxiliary utility packages. + </li> + </ol> + + Note that there are a lot of warnings produced by ANTLR about the + C grammar and our modifications to some of the signatures of the + productions; the C grammar warnings have been documented by the + author of the grammar as having been investigated completely and + harmless, and the warnings about our modifications are also + harmless. + + <h2> Common build problems </h2> + + <ol> + + <li> + <b>Your CLASSPATH environment variable appears to be set (some JOGL classes are currently visible to the build.)</b>, and $CLASSPATH isn't set. + An older version of JOGL was installed into the extension directory of the JDK you're using to build the + current JOGL. On Windows and Linux, delete any ANTLR jars from jre/lib/ext, and on Mac OS X, delete them from + /Library/Java/Extensions. It is generally not a good idea to drop JOGL directly into the extensions directory, + as this can interfere with upgrades via Java Web Start. + </li> + + <li> + <b>CharScanner; panic: ClassNotFoundException: com.sun.gluegen.cgram.CToken</b> + + This occurs because ANTLR was dropped into the Extensions + directory of the JRE/JDK. On Windows and Linux, delete any ANTLR jars from jre/lib/ext, + and on Mac OS X, delete them from /Library/Java/Extensions. Use the antlr.jar property in the build.xml + to point to a JRE-external location of this jar file. + </li> + + </ol> + + <br/> + <p> + <i>- Christopher Kline and Kenneth Russell, June 2003 (revised November 2006)</i><br/> + <i>- Sven Gothel and Michael Bien, May 2010</i><br/> + </p> + + </div> + </div> + <div id="footer"> + <div id="footer_left"> + <span>JogAmp.org</span> + by <a href="http://jogamp.org">http://jogamp.org</a> + is licensed under a <br/> + <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution 3.0 License</a>. + </div> + </div> + </div> + </body> +</html> |