Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 143019 - dev-java/jogl-1.0.0 (New Package)
Summary: dev-java/jogl-1.0.0 (New Package)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Java team
URL: https://jogl.dev.java.net/
Whiteboard: NeedsReview
Keywords: EBUILD, InOverlay
: 50178 71804 496872 (view as bug list)
Depends on: 170305
Blocks: 107508 177026 202517 300503 346073 388033
  Show dependency tree
 
Reported: 2006-08-06 14:43 UTC by Alistair Bush (RETIRED)
Modified: 2015-10-23 15:33 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
jogl-1.0.0_beta5.ebuild (jogl-1.0.0_beta5.ebuild,1.09 KB, text/plain)
2006-08-06 14:46 UTC, Alistair Bush (RETIRED)
Details
Updated ebuild (jogl-1.0.0_beta05.ebuild,1.26 KB, text/plain)
2006-08-08 04:36 UTC, Alistair Bush (RETIRED)
Details
jogl-1.0.0_beta05.ebuild (jogl-1.0.0_beta05.ebuild,1.37 KB, text/plain)
2006-08-13 20:27 UTC, Alistair Bush (RETIRED)
Details
jogl-1.0.0.ebuild (jogl-1.0.0.ebuild,1.45 KB, text/plain)
2006-12-20 07:28 UTC, Duane Griffin
Details
jogl-1.0.0-libpath.patch (jogl-1.0.0-libpath.patch,1010 bytes, patch)
2006-12-20 07:29 UTC, Duane Griffin
Details | Diff
new jogl-1.0.0.ebuild (jogl-1.0.0.ebuild,1.60 KB, text/plain)
2007-01-11 07:54 UTC, Alistair Bush (RETIRED)
Details
jogl-1.0.0-fix-solaris-compiler.patch (jogl-1.0.0-fix-solaris-compiler.patch,2.56 KB, patch)
2007-01-11 07:58 UTC, Alistair Bush (RETIRED)
Details | Diff
dev-java/jogl-1.1.1a ebuild - fails to build (jogl-1.1.1a.ebuild,1.89 KB, text/plain)
2010-07-16 22:59 UTC, Richard
Details
Working ebuild (jogl-1.1.1a.ebuild,1.89 KB, text/plain)
2011-02-13 21:00 UTC, Richard
Details
jogl-2.3.1.ebuild (jogl-2.3.1.ebuild,2.18 KB, text/plain)
2015-08-24 10:41 UTC, Karsten Merkle
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alistair Bush (RETIRED) gentoo-dev 2006-08-06 14:43:05 UTC
Please find attached a ebuild for java's OpenGL binding library.
Comment 1 Alistair Bush (RETIRED) gentoo-dev 2006-08-06 14:46:02 UTC
Created attachment 93615 [details]
jogl-1.0.0_beta5.ebuild
Comment 2 Alistair Bush (RETIRED) gentoo-dev 2006-08-08 04:36:01 UTC
Created attachment 93741 [details]
Updated ebuild 

Ive fixed up (hopefully) all of the things that were wrong in the previous ebuild.
Comment 3 David 2006-08-09 15:09:01 UTC
I proposed a JOGL ebuild long ago (see bug 50178 and bug 71804).  There were 
problems with the naming scheme used upstream.   I support inclusion of JOGL
in portage, perhaps the issue can be revisited?

Since much of the discussion has already taken place there, I also suggest 
that this bug be marked as a duplicate of bug 50178 and we re-open bug 50178.

Comment 4 David 2006-08-09 15:17:18 UTC
Whoops, ignore that last comment.  I see that the problem has been addressed
upstream!  I should have looked more closely.
Comment 5 Alistair Bush (RETIRED) gentoo-dev 2006-08-13 20:27:31 UTC
Created attachment 94194 [details]
jogl-1.0.0_beta05.ebuild

Another lot if fixes and tiding done.
Comment 6 Alistair Bush (RETIRED) gentoo-dev 2006-09-17 04:16:22 UTC
This ebuild is now located in the migrated-java-experiemental-overlay.

Specifically it is now located here
http://overlays.gentoo.org/svn/proj/java/migrated-java-experimental-overlay/dev-java/jogl/
Comment 7 Duane Griffin 2006-12-20 07:27:10 UTC
Please find attached an updated ebuild and associated patch for the final 1.0.0 release. Aside from the version bump it contains some additional dependencies and a patch for the JOGL native code compilation task. The patch changes the library search path from /usr/X11R6/lib{64} to /usr/lib{64}, and is required to build on my system.
Comment 8 Duane Griffin 2006-12-20 07:28:04 UTC
Created attachment 104442 [details]
jogl-1.0.0.ebuild

Ebuild for 1.0.0 final release
Comment 9 Duane Griffin 2006-12-20 07:29:38 UTC
Created attachment 104444 [details, diff]
jogl-1.0.0-libpath.patch

Patch to change link library search paths from /usr/X11R6/lib{64} to /usr/lib{64} when compiling native code.
Comment 10 Alistair Bush (RETIRED) gentoo-dev 2007-01-11 07:54:10 UTC
Created attachment 106498 [details]
new jogl-1.0.0.ebuild

new jogl-1.0.0 contains the following tweeks, 

Increase memory for compiler.
Add another patch
Comment 11 Alistair Bush (RETIRED) gentoo-dev 2007-01-11 07:58:06 UTC
Created attachment 106500 [details, diff]
jogl-1.0.0-fix-solaris-compiler.patch

This patch fixes the build.xml that attempts to assign an incorrect compiler and linker ( suncc ) value.
Comment 12 Alistair Bush (RETIRED) gentoo-dev 2007-01-11 08:00:22 UTC
This ebuild is available for review in the migrated-java-experimental overlay.
Comment 13 Petteri Räty (RETIRED) gentoo-dev 2007-03-06 11:42:56 UTC
*** Bug 50178 has been marked as a duplicate of this bug. ***
Comment 14 Petteri Räty (RETIRED) gentoo-dev 2007-03-06 11:44:00 UTC
(In reply to comment #13)
> *** Bug 50178 has been marked as a duplicate of this bug. ***
> 

Alistair: Remember to check closed bugs too.
Comment 15 Petteri Räty (RETIRED) gentoo-dev 2007-03-06 11:48:42 UTC
*** Bug 71804 has been marked as a duplicate of this bug. ***
Comment 16 Petteri Räty (RETIRED) gentoo-dev 2007-03-06 12:08:22 UTC
jogl seems to bundle a copy of gluegen. I am not sure yet if it's worth it to use a system copy, but as joal uses it too it could be useful.

https://gluegen.dev.java.net/
Comment 17 Alistair Bush (RETIRED) gentoo-dev 2007-03-10 19:00:07 UTC
As both joal and jogl rely on gluegen,  it really isn't acceptable for jogl to bundle it.  Therefore I have made a gluegen ebuild and will attempt to hack jogl's build system to not bundle gluegen inside the jogl.jar
Comment 18 Petteri Räty (RETIRED) gentoo-dev 2007-03-10 19:05:18 UTC
(In reply to comment #17)
> As both joal and jogl rely on gluegen,  it really isn't acceptable for jogl to
> bundle it.  Therefore I have made a gluegen ebuild and will attempt to hack
> jogl's build system to not bundle gluegen inside the jogl.jar
> 

Yes as long as we can it done in a way that it can be submitted to upstream like optionally with a property.
Comment 19 Alistair Bush (RETIRED) gentoo-dev 2007-03-10 19:22:42 UTC
Currently my approach is to check whether the gluegen jars exist and base the decision to compile gluegen from this.  So if we override the location of the gluegen jars using -Dgluegen.jar and -Dgluegen-rt.jar then gluegen will not be built.

As for the bundling of gluegen in jogl.  I'll tell you my approach after ive done it :)
Comment 20 wizard 2008-02-26 10:47:09 UTC
(In reply to comment #12)
> This ebuild is available for review in the migrated-java-experimental overlay.
> 

# layman -i migrated-java-experimental
* None
Traceback (most recent call last):
  File "/usr/bin/layman", line 37, in ?
    main()
  File "/usr/bin/layman", line 34, in main
    Actions(Config())
  File "/usr/lib/python2.4/site-packages/layman/action.py", line 473, in __init__
    result += i[1](config).run()
  File "/usr/lib/python2.4/site-packages/layman/action.py", line 296, in run
    if not overlay.is_official():
AttributeError: 'NoneType' object has no attribute 'is_official'
Comment 21 Nico Schlömer 2008-12-30 14:35:17 UTC
hi,

the discussion seems to have ceased here, am i right?

the jogl ebuild attracts some more attention now as it is a dependency on scilab, as discussed over here

http://bugs.gentoo.org/show_bug.cgi?id=237572

now, unfortunately, jogl seems to be the big blocker. any news on the gluegen dependency maybe?

cheers,
nico
Comment 22 justXi 2009-02-24 10:44:14 UTC
I tried the ebuild from java-overlay on x86 and got the following error:

-------------------------

 [gluegen] WARNING: skipping emission of unnamed struct "struct __GLXFBConfigRec"
  [gluegen] WARNING: skipping emission of unnamed struct "struct __GLXFBConfigRec"
  [gluegen] WARNING: skipping emission of unnamed struct "struct __GLXFBConfigRec"
  [gluegen] WARNING: skipping emission of unnamed struct "struct { }"
  [gluegen] WARNING: skipping emission of unnamed struct "struct { }"
  [gluegen] WARNING: skipping emission of unnamed struct "struct { }"
  [gluegen] WARNING: Array fields (field "char[80] pipeName;" of type "GLXHyperpipeNetworkSGIX") not implemented yet
  [gluegen] WARNING: Array fields (field "char[80] pipeName;" of type "GLXHyperpipeNetworkSGIX") not implemented yet
  [gluegen] WARNING: skipping emission of unnamed struct "struct __GLXcontextRec"
  [gluegen] WARNING: skipping emission of unnamed struct "struct __GLXcontextRec"
  [gluegen] WARNING: skipping emission of unnamed struct "struct __GLXcontextRec"
  [gluegen] WARNING: Array fields (field "char[80] pipeName;" of type "GLXHyperpipeConfigSGIX") not implemented yet
  [gluegen] WARNING: Array fields (field "char[80] pipeName;" of type "GLXHyperpipeConfigSGIX") not implemented yet
  [gluegen] java.lang.RuntimeException: Error while generating bindings for "GLXFBConfig *  glXChooseFBConfig(Display *  dpy, int screen, const int *  attribList, int *  nitems);"
  [gluegen] 	at com.sun.gluegen.JavaEmitter.generateMethodBindingEmitters(JavaEmitter.java:630)
  [gluegen] 	at com.sun.gluegen.procaddress.ProcAddressEmitter.generateMethodBindingEmittersImpl(ProcAddressEmitter.java:117)
  [gluegen] 	at com.sun.gluegen.procaddress.ProcAddressEmitter.generateMethodBindingEmitters(ProcAddressEmitter.java:103)
  [gluegen] 	at com.sun.gluegen.JavaEmitter.emitFunctions(JavaEmitter.java:282)
  [gluegen] 	at com.sun.gluegen.GlueGen.run(GlueGen.java:283)
  [gluegen] 	at com.sun.gluegen.GlueGen.main(GlueGen.java:297)
  [gluegen] Caused by: java.lang.NullPointerException
  [gluegen] 	at com.sun.gluegen.JavaType.descriptor(JavaType.java:547)
  [gluegen] 	at com.sun.gluegen.JavaType.getDescriptor(JavaType.java:252)
  [gluegen] 	at com.sun.gluegen.MethodBinding.erasedTypeDescriptor(MethodBinding.java:590)
  [gluegen] 	at com.sun.gluegen.MethodBinding.getDescriptor(MethodBinding.java:569)
  [gluegen] 	at com.sun.gluegen.JavaConfiguration.javaPrologueForMethod(JavaConfiguration.java:664)
  [gluegen] 	at com.sun.gluegen.opengl.GLConfiguration.javaPrologueForMethod(GLConfiguration.java:120)
  [gluegen] 	at com.sun.gluegen.JavaEmitter.generatePublicEmitters(JavaEmitter.java:346)
  [gluegen] 	at com.sun.gluegen.JavaEmitter.generateMethodBindingEmitters(JavaEmitter.java:625)
  [gluegen] 	... 5 more
  [gluegen] Exception occurred while generating glue code. Exiting.


------------
GENTOO_VM=sun-jdk-1.6  CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.6.0.11"
JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="javac"

Comment 23 Nico Schlömer 2009-05-12 17:32:31 UTC
fyi, there's an ebuild for jogl 1.1.1 in the java overlay now. kudos to alistair! the thing works for me(tm); well, i'd rather say it compiles. didn't have the chance to really put it to the test yet, but you guys might wanna try.

cheers,
nico
Comment 24 Alistair Bush (RETIRED) gentoo-dev 2009-05-12 19:43:05 UTC
(In reply to comment #23)
> fyi, there's an ebuild for jogl 1.1.1 in the java overlay now. kudos to
> alistair! the thing works for me(tm); well, i'd rather say it compiles. didn't
> have the chance to really put it to the test yet, but you guys might wanna try.
> 
> cheers,
> nico
> 

I tested the a few of the demo apps and they all worked.  Believe one app didn't work perfectly with black boxes in some areas.

To note,  the issue was jogl seems very pedantic about which version of gluegen it is built against, I had bumped gluegen inadvertently breaking jogl, even tho there seems no api changes in the gluegen runtime.  Would be interesting to see whether upgrading gluegen after jogl has been built will still work.
Comment 25 Richard 2010-05-21 18:20:40 UTC
The following thread chronicles my attempt to get Java OpenGL Acceleration working in a Java Applet called Runescape:

http://forums.gentoo.org/viewtopic-t-827856-highlight-.html

After installing dev-java/gluegen and this dev-java/jogl from the java-overlay overlay and making some additions to Java's runtime parameters via the Java Control Panel, I was able to enable hardware acceleration. The specific parameters were:

-classpath "/usr/share/jogl/lib/jogl.jar:/usr/share/gluegen/lib/gluegen-rt.jar" -Djava.library.path="/usr/lib/gluegen/:/usr/lib/jogl/"

After doing this, my system works perfectly with this ebuild emerged.

I suggest that a minor changes be made to this ebuild such that it will add itself to the default class path and java library path for all users on a system upon installation and remove itself upon uninstallation. This is assuming that there are hooks for doing that in the jdk. If there are no such hooks, then the ebuild should be modified to append a warning with instructions to manually modify the Java Control Panel's runtime parameters field to append the appropriate jar file and directory to the class and library paths respectively.
Comment 26 Richard 2010-07-16 22:59:32 UTC
Created attachment 239105 [details]
dev-java/jogl-1.1.1a ebuild - fails to build

A new stable release is out called 1.1.1a. Wikipedia says that it "fixes a critical buffer overrun issue". Version bumping the ebuild does not work because the version number string occurs twice in the url and one occurrence is hard-coded.

I modified the ebuild to soft code the version number string and attached it. Unfortunately, a java runtime error occurs during the build:

java.generate.gl:
     [echo] Generating GL interface and implementation
  [gluegen] WARNING: unable to find #include file "inttypes.h"
  [gluegen] WARNING: unable to find #include file "inttypes.h"
  [gluegen] WARNING: unable to find #include file "stdint.h"
  [gluegen] WARNING: unable to find #include file "stdint.h"
  [gluegen] java.lang.RuntimeException: Error while emitting binding for "glGetTexImage"
  [gluegen]     at com.sun.gluegen.JavaEmitter.emitFunctions(JavaEmitter.java:292)
  [gluegen]     at com.sun.gluegen.GlueGen.run(GlueGen.java:283)
  [gluegen]     at com.sun.gluegen.GlueGen.main(GlueGen.java:297)
  [gluegen] Caused by: java.lang.IllegalArgumentException: Unmatched braces in the pattern.
  [gluegen]     at java.text.MessageFormat.applyPattern(MessageFormat.java:476)
  [gluegen]     at java.text.MessageFormat.<init>(MessageFormat.java:350)
  [gluegen]     at com.sun.gluegen.JavaMethodBindingEmitter.emitPrologueOrEpilogue(JavaMethodBindingEmitter.java:380)
  [gluegen]     at com.sun.gluegen.JavaMethodBindingEmitter.emitBody(JavaMethodBindingEmitter.java:367)
  [gluegen]     at com.sun.gluegen.FunctionEmitter.emit(FunctionEmitter.java:102)
  [gluegen]     at com.sun.gluegen.FunctionEmitter.emit(FunctionEmitter.java:111)
  [gluegen]     at com.sun.gluegen.JavaEmitter.emitFunctions(JavaEmitter.java:290)
  [gluegen]     ... 2 more
  [gluegen] Exception occurred while generating glue code. Exiting.

I did diffs on the relevant files between versions 1.1.1 and 1.1.1a and I could not find the cause of the issue. If anyone wants to take a look, the relevant files can be found in:

/var/tmp/portage/dev-java/jogl-1.1.1a/work/gluegen/src/java/com/sun/gluegen/

It appears to be building gluegen despite a patch to make it use the system gluegen. It is failing during the build of gluegen.
Comment 27 Richard 2011-02-13 21:00:50 UTC
Created attachment 262385 [details]
Working ebuild

I figured this out shortly after I posted my "broken" ebuild, but I did this in the course of troubleshooting a different issue, so I forgot to post my findings. Installing jogl 1.1.1a requires doing a revision bump of gluegen. Otherwise the build will fail.

I am uploading a "new" ebuild, which really is just the same ebuild that I posted originally modified to force gluegen to be the later version. The later version can be obtained by doing a revision bump, but some hops need to be done to obtain a tarball that is usable by the ebuild. I will post instructions on how to do that in bug #170305 shortly.
Comment 28 Ralph Sennhauser (RETIRED) gentoo-dev 2012-05-15 20:29:23 UTC
Added ebuilds for gluegen and jogl 2.0_rc8 to ::java-overlay. Both ebuilds are rough around the edges and need some more love.

Anyway please test them and file bugs as necessary.
Comment 29 Justin Lecher (RETIRED) gentoo-dev 2014-01-03 12:02:08 UTC
*** Bug 496872 has been marked as a duplicate of this bug. ***
Comment 30 Karsten Merkle 2015-08-24 10:41:58 UTC
Created attachment 410034 [details]
jogl-2.3.1.ebuild

version bump 2.3.1
using sources instead precompiled plugin3
remember to install gluegen-2.3.1 as well!
Comment 31 Patrice Clement gentoo-dev 2015-10-23 15:29:16 UTC
commit 7335188 (HEAD, master)
Author: Patrice Clement <monsieurp@gentoo.org>
Date:   Fri Oct 23 15:15:12 2015 +0000

    dev-java/jogl: Removing from overlay. Fixes bug 330267.
    
    Signed-off-by: Patrice Clement <monsieurp@gentoo.org>

 delete mode 100644 dev-java/jogl/Manifest
 delete mode 100644 dev-java/jogl/files/1.1.0/fix-solaris-compiler.patch
 delete mode 100644 dev-java/jogl/files/1.1.0/uncouple-gluegen.patch
 delete mode 100644 dev-java/jogl/jogl-1.1.1.ebuild
 delete mode 100644 dev-java/jogl/jogl-2.0_rc8-r1.ebuild
 delete mode 100644 dev-java/jogl/metadata.xml


As pointed out in another bug, there's a MUCH up-to-date and looked-after version sitting in the Science Overlay. 

https://gitweb.gentoo.org/proj/sci.git/tree/dev-java/jogl

Why does this ebuild end up in two overlays? We even have a version of gluegen in the Java Overlay. 

https://gitweb.gentoo.org/proj/java.git/tree/dev-java/jogl
https://gitweb.gentoo.org/proj/java.git/tree/dev-java/gluegen

Duplicate efforts which are totally useless IMHO. Anyway. 

Is there a *need* to add jogl to Portage? If yes, please file a new bug. I will look into adding it (as well as gluegen). Thank you.
Comment 32 Patrice Clement gentoo-dev 2015-10-23 15:33:00 UTC
Disregard the two links in the previous message.

https://gitweb.gentoo.org/proj/java.git/tree/dev-java/gluegen
https://gitweb.gentoo.org/proj/sci.git/tree/dev-java/gluegen