compiling jogl on mac os x

i have all i need (ant, antlr, jogl). and now i am stuck here:

java.generate:
[echo] Generating GL interface class
[gluegen] CharScanner; panic: ClassNotFoundException: net.java.games.gluegen.cgram.CToken

BUILD FAILED
/Volumes/Data/Users/xxx/jogl/make/build.xml:1122: Following error occured while executing this line
/Volumes/Data/Users/xxx/jogl/make/build.xml:531: GlueGen returned: 1

any help?

is anyone here able to build jogl with 10.3.4 and java 1.4.2_04?

here’s a verbose output of my problem:
[Loaded … lots deletes …]
[Loaded net.java.games.gluegen.cgram.CToken]
[Loaded … lots deletes …]
CharScanner; panic: ClassNotFoundException: net.java.games.gluegen.cgram.CToken

how is this possible?

I haven’t tried Java 1.4.2_04, but I was able to compile the latest nightly source on Java 1.4.2_03. I would first re-download the source, and make sure that you have new enough versions of ant and antler.

Michael

Mac OS 10.3.4
Ant 1.6.0
Antler 2.7.2

antlr: 2.7.4
ant: 1.6.1
jogl: cvs checkout today

same error.
day before yesterday i used Java 1.4.2_03, so that is not part of the problem.
jogl/doc/HowToBuild.html seems not enough if you can build it but i cant.

any special cvs ceckout-option the get that lastest? i just use
cvs update -d

help!!!

never mind…

i had the antlr.jar in /Library/Java/Extensions - that was the error.
after removing it from that location it builds.
i consider this a bit strange…

and all those deprecation-warnings :slight_smile:

atze

oh, i had to repair this:
java.compile:
[javac] Compiling 91 source files to /Volumes/Data/Users/xxx/jogl/build/classes
[javac] /Volumes/Data/Users/xxx/jogl/src/net/java/games/jogl/impl/macosx/MacOSXGLContext.java:177: deleteContext(long,long) in net.java.games.jogl.impl.macosx.CGL cannot be applied to (long,)
[javac] if (!CGL.deleteContext(nsContext, null)) {
[javac] ^
[javac] /Volumes/Data/Users/xxx/jogl/src/net/java/games/jogl/impl/macosx/MacOSXDummyGLContext.java:113: destroy() in net.java.games.jogl.impl.macosx.MacOSXDummyGLContext cannot override destroy() in net.java.games.jogl.impl.GLContext; attempting to assign weaker access privileges; was public
[javac] private void destroy() {
[javac] ^
[javac] Note: /Volumes/Data/Users/xxx/jogl/src/net/java/games/jogl/GLCanvas.java uses or overrides a deprecated API.
[javac] Note: Recompile with -deprecation for details.
[javac] 2 errors

this looks like an app-killer:
[apply] src/native/jogl/MacOSXWindowSystemInterface.m: In function `updateContextRegister’:
[apply] src/native/jogl/MacOSXWindowSystemInterface.m:148: warning: no return statement in function returning non-void

this is wrong:
@implementation ContextUpdater
{
}

static NSOpenGLContext *theContext;
static pthread_mutex_t resourceLock = PTHREAD_MUTEX_INITIALIZER;

a) implementations don’t have an instance-var block {}
b) static vars and function do not belong inside an implementation or interface.