JOGL 1.0 on Mac OS X Lion

Hi all!

I need to run a program written with jogl 1.0 on a mac under os x lion.
As I understand there have been some significant changes in jogl 1.1.1 that prevent me from using that version (or any later ones for that matter). Anyways when I run the program I get the following message:

Exception in thread “main” java.lang.UnsatisfiedLinkError: /System/Library/Java/Extensions/libjogl.jnilib: no suitable image found. Did find: /System/Library/Java/Extensions/libjogl.jnilib: no matching architecture in universal wrapper

I am using jogl 1.0 mac universal. I can’t understand why this isn’t working because the universal version should be ppc AND i386 compatible. Can Lion not run Java applets in 32bit mode?

Would rebuilding the 1.0 sources on my mac resolve the problem? Even if it would, I have no idea how to do that (the build instructions are a bit above my level of understanding computers :().
Can someone help me please?

Thank you in advance!
jaga

If you think JOGL 1.1.1 is the latest and greatest, well it should be news to you that both those version are completely obsolete and not guaranteed to work at all. The current version is JOGL 2.0 :wink:
You can grab this version from www.jogamp.org

Maybe I wasn’t clear, I know about the new versions of JOGL, but this particular program was written in 1.0 and if I use one of the newer versions, some methods/classes don’t work.

But thanks anyway.

I would strongly recommend upgrading the program to use the new version of JOGL. It really isn’t that difficult and most of it can be done by following a couple of simple patterns. GLCanvas still exists, and you can probably get away with replacing GL with GL2 in your code and that’s 99% of the way.

That being said, OS X Lion is 64bit and the JVM is also 64 bit, I don’t know what the JVM’s rules are for loading native libraries but I wouldn’t be surprised if it required a 64bit build. Since JOGL 1 or 1.1.1 aren’t supported anymore, there are not regular or automated builds for the different platforms.

Upgrading to the new JOGL is much easier than building JOGL from the source. I’ve tried both.

Hi

ra4king and lhkbob are right. Please switch to JOGL 2.0, it is reliable enough and the port is not that difficult, I ported several engines from JOGL 1.1.1a to JOGL 2.0. Sven fixed several bugs in particular for Mac OS X Lion; if you don’t switch, we will be unable to help you. Please let us know whether you need some help. Some classes have been moved into other packages, there are now profiles but that’s not very complicated. Actually, JOGL 2.0 is even easier to use than JOGL 1.1.1a, you don’t have to set the Java library path :slight_smile: it has a less bad support of applets in very recent versions of Mac OS X. The new features are not mandatory, you can use the legacy AWT canvas GLCanvas but NEWT is damn good especially on GNU Linux. Best regards.

I have a simular probelm want to try to change form JOGL 1.0.0 to JOGL 2.0 and wondering if there are any good info like websites and tutarial or video, and i need to tell you i have not workt with JOGL befor but i need to fix it in a project i’m working on. So all input on what i need to learn to uppgrade to JOGL 2.0 is apprisieted.

Hi

The RC6 of JOGL 2.0 fixes most of the remaining bugs on Mac OS X. BufferUtils has been renamed Buffers, GL has been splitted into several classes (GL2, GL3, GL4, …), it is explained here:
http://jogamp.org/wiki/index.php/Jogl_Overview

Good luck.

hi im back i ty for that i did not understand much of that in the link but hopefully i will in time.
i finely got jogl 2.0 in the projekt and starts the changing in cod and if you are willing to help i will probely ask many things here on what i need to change.

first thing i like to ask is that one line is
import javax.media.opengl.GLCanvas;
but that dont seams to exist anymore, at lest not by the same name, so i wondering what i need to change it to or what else i need to do to. Any help is apprieieted.

and sorry for all the wrong spelling.

i solved it it seams that it now use
import javax.media.opengl.awt.GLCanvas;

but now i found a new problem in the kod it says gl.glIsList but then i trying to find the problem it seams that glIsList no longer is a funtion anylonger in gl and i cant find what do for it to work with jogl 2

A lot of the functions are in GL2. e.g. glIsList will be there.

The Java documentation of JOGL is here:
http://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/

I advise you to read this to understand how profiles work in JOGL 2.0:
http://jogamp.org/jogl/doc/Overview-OpenGL-Evolution-And-JOGL.html

ty i fix the problem i ask if something else i need help with

I honestly don’t get it. I really don’t. There is no way this is helping anybody, and it breaks a LOT of code. :cranky:

It’s not as bad as the renamed packages, that basically invalidated any tutorial on JOGL there was, but it’s certainly a screwup.

This is not difficult to fix and I have already started to update the user guide to take into account such changes. I do my best. I contacted a lot of people who wrote tutorials about JOGL and I got only a few replies. Some major changes in the public API could not be avoided, you could not keep “sun” in package names, the AWT part has to be separated from our own native windowing system. I admit these changes can cause some problems for newbies but someone who is able to find his way in the documentation can port his programs to JOGL without any trouble. A French teacher I contacted ported all his few tutorials in less than 2 hours, I only gave him some “tricks” I decided to put later into the Wiki and/or in the user guide. As we would say in French, I cannot help people who drown in a glass of water.

The problem is not really with the developers that already use JOGL. Indeed, it’s a trivial fix.

But when developers discover JOGL, and natually they dig into the tutorials, they notice it simply doesn’t work, and they might look elsewhere for a java OpenGL binding.

Basically, it’s making life harder for those that you need most.

That’s why I highly encouraged a lot of webmasters to update their tutorials but some of them wrote them only to get some more visits and now, they prefer leaving them as is. I cannot force them to make an effort.

Of course, the numerous API changes in JOGL broke lots of tutorials but now, we have an homogeneous API with its own native windowing system, with an excellent support of multiple screens and profiles and working both in desktop and embedded environments. Maybe you find some changes could have been avoided but we could hardly add the support of profiles without major API changes. Moreover, I helped a lot of people to port their projects, lots of middle and high-level APIs using JOGL have switched to JOGL 2.0 including Processing, Jzy3D, Java3D, Xith3D, Ardor3D, etc… The users of these APIs are not highly affected by the changes of JOGL public API.

i have a new problem and i work a few hours trying to fix it but no luck so far so i bring it here in hopp of some answer
the row is
com.sun.opengl.impl.NativeLibLoader.disableLoading();

the error is
package com.sun.opengl.impl does not exist
[javac] com.sun.opengl.impl.NativeLibLoader.disableLoading();

im trying to find i replasment for it in jogl2 but not found anything

Hi geard

Use com.jogamp.common.jvm.JNILibLoaderBase, which is in GlueGen.

ty so much it solved that problem

You’re welcome. Please rather post on the official JogAmp forum so that I can answer you faster. This one is blocked at work :frowning: