Downloading and installing JOGL: Difference between revisions

From JogampWiki
Jump to navigation Jump to search
m (Removed a few apostrophes and changed a few word choices)
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
To manually install JOGL, all you have to do is download the platform ZIP archives,
Before you can build a project that uses JOGL [https://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE in your IDE or on the command line], you'll need to download and install the JOGL JAR files and native JARs or native library files (<tt>.dll</tt>/<tt>.so</tt>/<tt>.jnilib</tt> files).
containing JARs and native libraries for your platform, and extract them in the directory of your choice. No installer is necessary.


You have a choice of versions to download. The latest stable version is probably safer, but lags behind in features. The latest automatic build contains all checked-in code, but may be failing some tests.
You have a choice of JOGL versions to download. The [{{SERVER}}/deployment/jogamp-current/archive/ latest stable version] is the safest, but lags behind in features. The [{{SERVER}}/deployment/autobuilds/master/ latest automatic build] contains all checked-in code, but may be failing some tests.


= Downloading a released version =
= Downloading the latest stable version =


JogAmp follows a [[Jogamp_Versioning_and_Releases#Release_Classification|release scheme]],
Go to [{{SERVER}}/deployment/jogamp-current/archive/ this page] and download the all-in-one 7z archive file:
which describes the following locations to download the platform ZIP archives from:
 
: [{{SERVER}}/deployment/jogamp-current/archive/jogamp-all-platforms.7z jogamp-all-platforms.7z]
 
== Using the 7z jogamp-all-platforms archive ==
 
After inflating the file with [http://www.7-zip.org/ 7zip], you will have the general directory structure:
 
<pre>
&lt;jogamp-all-platforms&gt;/
&lt;jogamp-all-platforms&gt;/etc/test.sh
&lt;jogamp-all-platforms&gt;/etc/test.bat
&lt;jogamp-all-platforms&gt;/etc/test_dbg.sh
&lt;jogamp-all-platforms&gt;/etc/test_dbg.bat
&lt;jogamp-all-platforms&gt;/jar/&lt;module&gt;.jar
&lt;jogamp-all-platforms&gt;/jar/&lt;module&gt;-natives-&lt;os.and.arch&gt;.jar
&lt;jogamp-all-platforms&gt;/lib/
&lt;jogamp-all-platforms&gt;/&lt;module&gt;-java-src.zip*
</pre>
Legend:
* [{{SERVER}}/jogl/doc/deployment/JOGL-DEPLOYMENT.html#NativeJARFileNameConvention os.and.arch]
* module: gluegen, joal, jogl or jocl
 
Now you can '''test''' the ''archive'' as described
in [[Jogamp Versioning and Releases#Runtime Version Check|runtime version check]]
and [[Jogamp Versioning and Releases#Runtime Debug Logs|runtime debug test]].
 
If anything doesn't work as predicted, please follow our [[Jogl FAQ#Bugreports & Testing|bugreport guide]].
 
While keeping the above directory structure as-is, you can go ahead and
* add the non-native JAR files to your CLASSPATH (IDE, manual, ..)
* attach the java-source files to the non-native JAR files (IDE)
 
.. now you are set to start using JogAmp module in your project.
 
The above is detailed in [[Setting_up_a_JogAmp_project_in_your_favorite_IDE#Eclipse_IDE_project|Eclipse Project]]
and [[Setting_up_a_JogAmp_project_in_your_favorite_IDE#Eclipse_IDE_user_library|Eclipse User Library]].


* [http://jogamp.org/deployment/webstart/archive/ Signed Release]
= Downloading the latest aggregated autobuild =
* [http://jogamp.org/deployment/webstart-next/archive/ Signed Candidate]
* [http://jogamp.org/deployment/jogamp-next/archive/ Candidate]


You'll need to download your platform's ZIP archive for each desired module (GlueGen, JOGL, JOCL, or JOAL).
Got to [{{SERVER}}/deployment/archive/master/?C=M;O=D this page] and navigate into the first folder,
which shall be the latest ''aggregated autobuild''.


* <tt>gluegen-2.0-b8-20101213-linux-amd64.zip</tt>
Then navigate further down to '''archive''' and download the file '''jogamp-all-platforms.7z'''.
* <tt>jogl-2.0-b11-20101213-linux-amd64.zip</tt>
* <tt>jocl-0.9-b1-20101213-linux-amd64.zip</tt>
* <tt>joal-2.0-20101213-linux-amd64.zip</tt>


The platform and version tags are explained in the [[Jogamp_Versioning_and_Releases#Version_Classification|versioning]] chapter.
For example, on '''13-Mar-2013 20:19 CET''', the latest ''aggregated autobuild'' was:


You may also extract the API documentation:
[{{SERVER}}/deployment/archive/master/gluegen_646-joal_408-jogl_930-jocl_756/archive/jogamp-all-platforms.7z {{SERVER}}/deployment/archive/master/gluegen_646-joal_408-jogl_930-jocl_756/archive/jogamp-all-platforms.7z]


* <tt>gluegen-javadoc.zip</tt>
Now you can continue [[#Using the 7z jogamp-all-platforms archive|here]].
* <tt>jogl-javadoc.zip</tt>
* <tt>jocl-javadoc.zip</tt>
* <tt>joal-javadoc.zip</tt>


= Downloading the latest automatic build =
= Downloading the latest automatic build =


Every time changes to the JOGL code base are checked in, it starts an automatic build and test process. The resulting builds are placed at https://jogamp.org/deployment/autobuilds/master/, where you can download a build as one big file. Just pick the most recent <tt>jogl-b*</tt> directory, then download the right zip file for your platform from it. For 64-bit Windows the file will be <tt>jogl-2.0-bvvv-2010mmdd-windows-amd64.zip</tt>.
For the latest automatic build, we have to download gluegen and jogl separately.
 
First, go to [{{SERVER}}/deployment/autobuilds/master/?C=M;O=D this page] and click on the most recent <tt>gluegen-b*</tt> directory. Then download one of these files for each platform you're developing on:
 
: 32-bit Windows: <tt>gluegen-2.0-bvvv-20yymmdd-windows-i586.7z</tt>
: 64-bit Windows: <tt>gluegen-2.0-bvvv-20yymmdd-windows-amd64.7z</tt>
: 32/64-bit Mac OS X: <tt>gluegen-2.0-bvvv-20yymmdd-macosx-universal.7z</tt>
: 32-bit Linux: <tt>gluegen-2.0-bvvv-20yymmdd-linux-i586.7z</tt>
: 64-bit Linux: <tt>gluegen-2.0-bvvv-20yymmdd-linux-amd64.7z</tt>
: 32-bit Solaris: <tt>gluegen-2.0-bvvv-20yymmdd-solaris-i586.7z</tt>
: 64-bit Solaris: <tt>gluegen-2.0-bvvv-20yymmdd-solaris-amd64.7z</tt>
 
Then, go back to [{{SERVER}}/deployment/autobuilds/master/?C=M;O=D this page] and click on the most recent <tt>jogl-b*</tt> directory. Then download one of these files for each platform you're developing on:
 
: 32-bit Windows: <tt>jogl-2.0-bvvv-20yymmdd-windows-i586.7z</tt>
: 64-bit Windows: <tt>jogl-2.0-bvvv-20yymmdd-windows-amd64.7z</tt>
: 32/64-bit Mac OS X: <tt>jogl-2.0-bvvv-20yymmdd-macosx-universal.7z</tt>
: 32-bit Linux: <tt>jogl-2.0-bvvv-20yymmdd-linux-i586.7z</tt>
: 64-bit Linux: <tt>jogl-2.0-bvvv-20yymmdd-linux-amd64.7z</tt>
: 32-bit Solaris: <tt>jogl-2.0-bvvv-20yymmdd-solaris-i586.7z</tt>
: 64-bit Solaris: <tt>jogl-2.0-bvvv-20yymmdd-solaris-amd64.7z</tt>
 
Note that these automatic builds may not have passed all the regression tests. You can check the test results on the [https://jogamp.org/chuck/ build server] to make sure you're not downloading a broken build.
 
== Native JARs vs. native library files ==


Note that these automatic builds may not have passed all the regression tests. You can check the build server at https://jogamp.org/chuck/ to see the test results for the automatic builds and make sure you're not downloading a broken build.
JOGL uses native libraries to interface with each platform's OpenGL library. You can either download these native libraries wrapped up in JAR files (the "native JARs" option), or you can download them as separate <tt>.dll</tt>/<tt>.so</tt>/<tt>.jnilib</tt> files (the "native library files" option).


= Unzipping the files =
When using native JARs, JOGL automatically unzips the native JARs at startup into a temporary directory, then loads the resulting <tt>.dll</tt>/<tt>.so</tt>/<tt>.jnilib</tt> files from there. When using native library files, JOGL just loads them directly from where they sit, with no unzipping.


Unzip all downloaded platform ZIP archives (and the API doc's ZIP files) in a common folder.
Using native JARs is usually easiest, since there are fewer files to manage and it allows different platforms' native library files to coexist in the same directory. Only use the native library files directly if you need fine control over native library file placement or if your app doesn't have permissions to create temporary directories.
Using a common folder will leave the API documentation intact and resembles the original directory layout.


A common methodology is to unzip the platform ZIP archive and rename the new folder by its module name, for example:
See  [[JogAmp JAR File Handling|JogAmp JAR File Handling]], for details on native JAR files and custom JAR bundling.
<pre>
unzip gluegen-2.0-b261-20110202-linux-amd64.zip
mv gluegen-2.0-b261-20110202-linux-amd64 gluegen


unzip jogl-2.0-b280-20110202-linux-amd64.zip
== Unzipping the files ==
mv jogl-2.0-b280-20110202-linux-amd64 jogl


unzip gluegen-javadoc.zip
Unzip all the downloaded files with [http://www.7-zip.org/ 7zip]. An unzipped file has this general directory structure:
unzip jogl-javadoc.zip
</pre>


Now you have the following structure (the same for all modules):
<pre>
<pre>
gluegen/
&lt;archive&gt;/
gluegen/artifact.properties
&lt;archive&gt;/jar/
gluegen/javadoc/
&lt;archive&gt;/lib/
gluegen/jar/
&lt;archive&gt;/&lt;module&gt;-java-src.zip*
gluegen/lib/
gluegen/jnlp-files/
gluegen/LICENSE
</pre>
</pre>


Now you may copy the required JARs out of each <tt>jar</tt> folder and the native libraries out of each <tt>lib</tt> folder.
Now you may copy the required JARs out of each <tt>jar</tt> folder and the native library files (if you're using them) out of each <tt>lib</tt> folder. For a full desktop installation using native JARs, here are the files you need. Note that the native JAR names are different for each platform, so you can use some or all of the native JARs together to create a multi-platform installation.
 
{|cellpadding="4" cellspacing="0"
!align="left"|64-bit Windows
!align="left"|64-bit Linux
!align="left"|32/64-bit Mac
|-
|<tt>gluegen-rt.jar</tt>||<tt>gluegen-rt.jar</tt>||<tt>gluegen-rt.jar</tt>
|-
|<tt>jogl-all.jar</tt>||<tt>jogl-all.jar</tt>||<tt>jogl-all.jar</tt>
|-
|<tt>gluegen-java-src.zip</tt>||<tt>gluegen-java-src.zip</tt>||<tt>gluegen-java-src.zip</tt>
|-
|<tt>jogl-java-src.zip</tt>||<tt>jogl-java-src.zip</tt>||<tt>jogl-java-src.zip</tt>
|-
|<tt>gluegen-rt-natives-windows-amd64.jar</tt>||<tt>gluegen-rt-natives-linux-amd64.jar</tt>||<tt>gluegen-rt-natives-macosx-universal.jar</tt>
|-
|<tt>jogl-all-natives-windows-amd64.jar</tt>||<tt>jogl-all-natives-linux-amd64.jar</tt>||<tt>jogl-all-natives-macosx-universal.jar</tt>
|}
<br/>
{|cellpadding="4" cellspacing="0"
!align="left"|32-bit Windows
!align="left"|32-bit Linux
|-
|<tt>gluegen-rt.jar</tt>||<tt>gluegen-rt.jar</tt>
|-
|<tt>jogl-all.jar</tt>||<tt>jogl-all.jar</tt>||
|-
|<tt>gluegen-java-src.zip</tt>||<tt>gluegen-java-src.zip</tt>||
|-
|<tt>jogl-java-src.zip</tt>||<tt>jogl-java-src.zip</tt>||
|-
|<tt>gluegen-rt-natives-windows-i586.jar</tt>||<tt>gluegen-rt-natives-linux-i586.jar</tt>
|-
|<tt>jogl-all-natives-windows-i586.jar</tt>||<tt>jogl-all-natives-linux-i586.jar</tt>
|}
 
<br/>
For a full desktop installation using native library files, here are the files you need. Note that the native library files have the same names for 32-bit and 64-bit platforms, so 32-bit and 64-bit platforms can't coexist in one installation.
<br/>
 
{|cellpadding="4" cellspacing="0"
!align="left"|Windows
!align="left"|Linux
!align="left"|Mac
|-
|<tt>gluegen-rt.jar</tt>||<tt>gluegen-rt.jar</tt>||<tt>gluegen-rt.jar</tt>
|-
|<tt>jogl-all.jar</tt>||<tt>jogl-all.jar</tt>||<tt>jogl-all.jar</tt>
|-
|<tt>gluegen-java-src.zip</tt>||<tt>gluegen-java-src.zip</tt>||<tt>gluegen-java-src.zip</tt>
|-
|<tt>jogl-java-src.zip</tt>||<tt>jogl-java-src.zip</tt>||<tt>jogl-java-src.zip</tt>
|-
|<tt>gluegen-rt.dll</tt>||<tt>libgluegen-rt.so</tt>||<tt>libgluegen-rt.jnilib</tt>
|-
|<tt>jogl_desktop.dll</tt>||<tt>libjogl_desktop.so</tt>||<tt>libjogl_desktop.jnilib</tt>
|-
|<tt>nativewindow_awt.dll</tt>||<tt>libnativewindow_awt.so</tt>||<tt>libnativewindow_awt.jnilib</tt>
|-
|<tt>nativewindow_win32.dll</tt>||<tt>libnativewindow_x11.so</tt>||<tt>libnativewindow_macosx.jnilib</tt>
|-
|<tt>newt.dll</tt>||<tt>libnewt.so</tt>||<tt>libnewt.jnilib</tt>
|}
 
= Maven =
Alternatively, the Jogamp packages are available through Maven.
 
See the [[Setting_up_a_JogAmp_project_in_your_favorite_IDE#Maven|maven instructions]] for a guide to using Jogamp in
Maven projects.
 
= More information =
 
JogAmp follows a [[Jogamp_Versioning_and_Releases#Release_Classification|release scheme]],
which describes the following locations to download the 7z archives from:
 
* [{{SERVER}}/deployment/ Deployment Home]
** [{{SERVER}}/deployment/jogamp-current/archive/ Signed Release]
** [{{SERVER}}/deployment/jogamp-next/archive/ Signed Candidate]
** [{{SERVER}}/deployment/jogamp-next/v2.0-rc3archive/ Specific Version]
 
[{{SERVER}}/jogl/doc/deployment/JOGL-DEPLOYMENT.html JOGL Deployment] describes the content of the 7z archive files.


This installation contains all of JOGL. If you want to trim it down, see https://jogamp.org/jogl/doc/deployment/JOGL-DEPLOYMENT.html for more information.
These installations contain all of JOGL. If you want to remove parts you don't use, see [{{SERVER}}/jogl/doc/deployment/JOGL-DEPLOYMENT.html JOGL Deployment] for more information.

Latest revision as of 12:20, 13 June 2013

Before you can build a project that uses JOGL in your IDE or on the command line, you'll need to download and install the JOGL JAR files and native JARs or native library files (.dll/.so/.jnilib files).

You have a choice of JOGL versions to download. The latest stable version is the safest, but lags behind in features. The latest automatic build contains all checked-in code, but may be failing some tests.

Downloading the latest stable version

Go to this page and download the all-in-one 7z archive file:

jogamp-all-platforms.7z

Using the 7z jogamp-all-platforms archive

After inflating the file with 7zip, you will have the general directory structure:

<jogamp-all-platforms>/
<jogamp-all-platforms>/etc/test.sh
<jogamp-all-platforms>/etc/test.bat
<jogamp-all-platforms>/etc/test_dbg.sh
<jogamp-all-platforms>/etc/test_dbg.bat
<jogamp-all-platforms>/jar/<module>.jar
<jogamp-all-platforms>/jar/<module>-natives-<os.and.arch>.jar
<jogamp-all-platforms>/lib/
<jogamp-all-platforms>/<module>-java-src.zip*

Legend:

Now you can test the archive as described in runtime version check and runtime debug test.

If anything doesn't work as predicted, please follow our bugreport guide.

While keeping the above directory structure as-is, you can go ahead and

  • add the non-native JAR files to your CLASSPATH (IDE, manual, ..)
  • attach the java-source files to the non-native JAR files (IDE)

.. now you are set to start using JogAmp module in your project.

The above is detailed in Eclipse Project and Eclipse User Library.

Downloading the latest aggregated autobuild

Got to this page and navigate into the first folder, which shall be the latest aggregated autobuild.

Then navigate further down to archive and download the file jogamp-all-platforms.7z.

For example, on 13-Mar-2013 20:19 CET, the latest aggregated autobuild was:

https://jogamp.org/deployment/archive/master/gluegen_646-joal_408-jogl_930-jocl_756/archive/jogamp-all-platforms.7z

Now you can continue here.

Downloading the latest automatic build

For the latest automatic build, we have to download gluegen and jogl separately.

First, go to this page and click on the most recent gluegen-b* directory. Then download one of these files for each platform you're developing on:

32-bit Windows: gluegen-2.0-bvvv-20yymmdd-windows-i586.7z
64-bit Windows: gluegen-2.0-bvvv-20yymmdd-windows-amd64.7z
32/64-bit Mac OS X: gluegen-2.0-bvvv-20yymmdd-macosx-universal.7z
32-bit Linux: gluegen-2.0-bvvv-20yymmdd-linux-i586.7z
64-bit Linux: gluegen-2.0-bvvv-20yymmdd-linux-amd64.7z
32-bit Solaris: gluegen-2.0-bvvv-20yymmdd-solaris-i586.7z
64-bit Solaris: gluegen-2.0-bvvv-20yymmdd-solaris-amd64.7z

Then, go back to this page and click on the most recent jogl-b* directory. Then download one of these files for each platform you're developing on:

32-bit Windows: jogl-2.0-bvvv-20yymmdd-windows-i586.7z
64-bit Windows: jogl-2.0-bvvv-20yymmdd-windows-amd64.7z
32/64-bit Mac OS X: jogl-2.0-bvvv-20yymmdd-macosx-universal.7z
32-bit Linux: jogl-2.0-bvvv-20yymmdd-linux-i586.7z
64-bit Linux: jogl-2.0-bvvv-20yymmdd-linux-amd64.7z
32-bit Solaris: jogl-2.0-bvvv-20yymmdd-solaris-i586.7z
64-bit Solaris: jogl-2.0-bvvv-20yymmdd-solaris-amd64.7z

Note that these automatic builds may not have passed all the regression tests. You can check the test results on the build server to make sure you're not downloading a broken build.

Native JARs vs. native library files

JOGL uses native libraries to interface with each platform's OpenGL library. You can either download these native libraries wrapped up in JAR files (the "native JARs" option), or you can download them as separate .dll/.so/.jnilib files (the "native library files" option).

When using native JARs, JOGL automatically unzips the native JARs at startup into a temporary directory, then loads the resulting .dll/.so/.jnilib files from there. When using native library files, JOGL just loads them directly from where they sit, with no unzipping.

Using native JARs is usually easiest, since there are fewer files to manage and it allows different platforms' native library files to coexist in the same directory. Only use the native library files directly if you need fine control over native library file placement or if your app doesn't have permissions to create temporary directories.

See JogAmp JAR File Handling, for details on native JAR files and custom JAR bundling.

Unzipping the files

Unzip all the downloaded files with 7zip. An unzipped file has this general directory structure:

<archive>/
<archive>/jar/
<archive>/lib/
<archive>/<module>-java-src.zip*

Now you may copy the required JARs out of each jar folder and the native library files (if you're using them) out of each lib folder. For a full desktop installation using native JARs, here are the files you need. Note that the native JAR names are different for each platform, so you can use some or all of the native JARs together to create a multi-platform installation.

64-bit Windows 64-bit Linux 32/64-bit Mac
gluegen-rt.jar gluegen-rt.jar gluegen-rt.jar
jogl-all.jar jogl-all.jar jogl-all.jar
gluegen-java-src.zip gluegen-java-src.zip gluegen-java-src.zip
jogl-java-src.zip jogl-java-src.zip jogl-java-src.zip
gluegen-rt-natives-windows-amd64.jar gluegen-rt-natives-linux-amd64.jar gluegen-rt-natives-macosx-universal.jar
jogl-all-natives-windows-amd64.jar jogl-all-natives-linux-amd64.jar jogl-all-natives-macosx-universal.jar


32-bit Windows 32-bit Linux
gluegen-rt.jar gluegen-rt.jar
jogl-all.jar jogl-all.jar
gluegen-java-src.zip gluegen-java-src.zip
jogl-java-src.zip jogl-java-src.zip
gluegen-rt-natives-windows-i586.jar gluegen-rt-natives-linux-i586.jar
jogl-all-natives-windows-i586.jar jogl-all-natives-linux-i586.jar


For a full desktop installation using native library files, here are the files you need. Note that the native library files have the same names for 32-bit and 64-bit platforms, so 32-bit and 64-bit platforms can't coexist in one installation.

Windows Linux Mac
gluegen-rt.jar gluegen-rt.jar gluegen-rt.jar
jogl-all.jar jogl-all.jar jogl-all.jar
gluegen-java-src.zip gluegen-java-src.zip gluegen-java-src.zip
jogl-java-src.zip jogl-java-src.zip jogl-java-src.zip
gluegen-rt.dll libgluegen-rt.so libgluegen-rt.jnilib
jogl_desktop.dll libjogl_desktop.so libjogl_desktop.jnilib
nativewindow_awt.dll libnativewindow_awt.so libnativewindow_awt.jnilib
nativewindow_win32.dll libnativewindow_x11.so libnativewindow_macosx.jnilib
newt.dll libnewt.so libnewt.jnilib

Maven

Alternatively, the Jogamp packages are available through Maven.

See the maven instructions for a guide to using Jogamp in Maven projects.

More information

JogAmp follows a release scheme, which describes the following locations to download the 7z archives from:

JOGL Deployment describes the content of the 7z archive files.

These installations contain all of JOGL. If you want to remove parts you don't use, see JOGL Deployment for more information.