任何幫助非常感謝。如何獲得Ubuntu 11.10 JOGL工作
問題:的Ubuntu 11.10沒有踢得好看與Java的JOGL已經建立什麼
摘要:
- JDK OK
- 環境變量確定
- JOGL罐和lib ok
- 使用的測試文件好吧
- 很不可能EBKAC
- 文件權限確定
- 問題引起的Ubuntu 11.10,(可有幫助嗎?)
- 潛在的解決方案 - 你怎麼安裝libjogl-java_1.1.1 + dak1.orig.tar。 gz?已經建立什麼
詳情:
JOGL是工作的罰款與Ubuntu 11.04。測試文件「T1.java」正確顯示了線框立方體。 將Ubuntu更新到11.10後,在Eclipse中運行時,JOGL框架始終凍結,不會顯示任何JOGL優點。 我試着運行一個Java applet來檢查java是否壞掉,它工作正常。 Java不壞。 在Eclipse中檢查了我的jogl用戶庫,看起來很好。本機庫適用於所有罐子。 我試圖運行該文件在終端
cd ~/workspace/projectname/src/packagename/
javac T1.java
,並獲得32個錯誤抱怨包找不到。在這一點上,我意識到這不是一個日食問題。
我改變環境變量在/ etc/environment中和/ etc/profile文件,這樣運行:
回聲$ PATH
回聲$ CLASSPATH
和
echo $ JAVA_HOME
所有顯示〜/ librambo /罐和〜/ librambo/lib下,他們應該(加上JDK正確地出現在PATH) (〜/ librambo是/ home /朗博/ librambo,蘭博=用戶名)
我試着把簡單的「T1.java」放在〜/ librambo/jar和javac裏面,同樣的問題。然後我想:
的javac -classpath jogl.all.jar T1.java
,以確定它是否會減少錯誤的號碼,它聲稱「錯誤讀取jogl.all。罐;在打開ZIP文件錯誤 「
提取的jar文件後,編譯但不會運行。運行
在終端LDD *。所以
,只見它缺乏」 libjawt 。所以」,因爲它抱怨‘找不到’。 發現庫文件,並將其複製到〜/ librambo/JAR文件夾後,它(LDD *的.so)則抱怨其他幾個庫包,如libmawt.so ,libjvm.so等等。之後他們也加入了集合在〜/ librambo/jar中的可怕文件池,在ldd'ing再次投訴它後現在不能找到libjawt.so - 但我只是'修復'那個問題...
我也「gksu鸚鵡螺」'我的方式他們的jar文件,並設置他們的權限讀/寫所有用戶,並允許它們作爲可執行文件運行。
我一直在使用sun-java-6,所以在偏執狂中,我決定刪除/ usr/lib/jvm中的其他java SDKs,以防止干擾太多的jar文件混淆它。同樣的問題。安裝JDK1.7.0,清除〜/ librambo/jar只留下4個jar(和T1.java),不會編譯 - 再次出現相同的32個錯誤。 (我使用「sudo update-alternatives --config java」來設置java版本,我用java -version來檢查我使用的是什麼版本,所以那不是問題= p)
這個時間下載了jogl-linux -amd64.7z新鮮,在它打開java-jogl-src.zip和複製的內容複製到/〜librambo /罐再看看我能得到它到這個文件夾中,因爲目錄結構沒有工作,100個錯誤比賽。
我搜羅了很多互聯網絡找了好幾天的答案,我想我可能最終發現它:
https://launchpad.net/ubuntu/oneiric/+source/libjogl-java/1.1.1+dak1-10
它說,在更改日誌「的修補更新設置java.library。路徑「,這符合我遇到的錯誤(在某個時刻)。不幸的是,當我下載libjogl-java_1.1.1 + dak1.orig.tar.gz,打開了它,我意識到我不知道我應該與內容做。任何人都可以告訴我該怎麼做'安裝'他們?
另外,這裏是附錄,其中包含文件的層次結構,在/ etc /環境設置,輸出32個錯誤,我已經檢查的參考列表。
////////////////////////////////////////
附錄
////////////////////////////////////////
文件層次
- /家庭/朗博/ librambo/罐子/gluegen-rt.jar中的
- /家庭/朗博/ librambo /罐/ jogl.all.jar
- /家庭/朗博/ librambo /罐/ JOGL-所有本地人-Linux的amd64.jar
- /家庭/朗博/ librambo /罐/ newt.event。jar
- /home/rambo/librambo/jar/T1.java#和其他大量文件已被刪除,因此32個錯誤又回來了。
- /家庭/朗博/ librambo/LIB/libgluegen-rt.so
- /家庭/朗博/ librambo/lib中/ libjogl_desktop.so
- /家庭/朗博/ librambo/lib中/ libjogl_mobile.so
- /家庭/朗博/ librambo/lib中/ libnativewindow_awt.so
- /家庭/朗博/ librambo/lib中/ libnativewindow_x11.so
- /家庭/朗博/ librambo/lib中/ libnewt.so
個環境變量
- PATH =「在/ usr/local/sbin中:在/ usr/local/bin目錄:/ usr/sbin目錄:在/ usr/bin中:/ sbin目錄:/ bin中:在/ usr /遊戲:〜/。 RVM /斌:/家庭/朗博/ librambo /罐:/家庭/朗博/ librambo/lib目錄下:/usr/lib/jvm/jdk1.7.0/bin:/usr/lib/jvm/jdk1.7.0/lib:在/ usr /lib/jvm/jdk1.7.0/jre/lib/amd64「
- JAVA_HOME =」/ usr/lib/jvm/jdk1.7.0/bin:/usr/lib/jvm/jdk1.7.0/lib:/ usr/lib/jvm/jdk1.7.0/jre/lib/amd64:/ home/rambo/librambo/jar:/ home/rambo/librambo/lib「
- CLASSPATH =」/ usr/lib/jvm/jdk1.7.0/bin :/usr/lib/jvm/jdk1.7.0/lib:/usr/lib/jvm/jdk1.7.0/jre/lib/amd64:/ home/rambo/librambo/jar:/ home/rambo/librambo/lib「
32 ERRORS
[email protected]:~/librambo/jar$ javac T1.java
T1.java:3: package javax.media.opengl does not exist
import javax.media.opengl.*;
^
T1.java:4: package javax.media.opengl.awt does not exist
import javax.media.opengl.awt.GLCanvas;
^
T1.java:5: package com.jogamp.opengl.util does not exist
import com.jogamp.opengl.util.*;
^
T1.java:6: package javax.media.opengl.glu does not exist
import javax.media.opengl.glu.GLU;
^
T1.java:7: package com.jogamp.opengl.util.gl2 does not exist
import com.jogamp.opengl.util.gl2.GLUT;
^
T1.java:9: cannot find symbol
symbol: class GLEventListener
public class T1 extends Frame implements GLEventListener, ActionListener {
^
T1.java:17: cannot find symbol
symbol : class GLCanvas
location: class T1
private GLCanvas canvas;
^
T1.java:75: cannot find symbol
symbol : class GLAutoDrawable
location: class T1
public void display(GLAutoDrawable drawable) {
^
T1.java:81: cannot find symbol
symbol : class GLAutoDrawable
location: class T1
public void dispose(GLAutoDrawable drawable) {
^
T1.java:85: cannot find symbol
symbol : class GLAutoDrawable
location: class T1
public void init (GLAutoDrawable drawable) {
^
T1.java:92: cannot find symbol
symbol : class GLAutoDrawable
location: class T1
public void reshape (GLAutoDrawable drawable, int x, int y, int width, int height) {
^
T1.java:115: cannot find symbol
symbol : class GLU
location: class Scene
private GLU glu = new GLU();
^
T1.java:116: cannot find symbol
symbol : class GLUT
location: class Scene
private GLUT glut = new GLUT();
^
T1.java:133: cannot find symbol
symbol : class GL2
location: class Scene
public void render(GL2 gl) {
^
T1.java:145: cannot find symbol
symbol : class GL2
location: class Scene
private void drawAxes(GL2 gl) {
^
T1.java:20: cannot find symbol
symbol : variable GLProfile
location: class T1
GLProfile.initSingleton(true);
^
T1.java:29: cannot find symbol
symbol : class GLProfile
location: class T1
GLProfile glp = GLProfile.getDefault();
^
T1.java:29: cannot find symbol
symbol : variable GLProfile
location: class T1
GLProfile glp = GLProfile.getDefault();
^
T1.java:30: cannot find symbol
symbol : class GLCapabilities
location: class T1
GLCapabilities caps = new GLCapabilities(glp);
^
T1.java:30: cannot find symbol
symbol : class GLCapabilities
location: class T1
GLCapabilities caps = new GLCapabilities(glp);
^
T1.java:31: cannot find symbol
symbol : class GLCanvas
location: class T1
canvas = new GLCanvas(caps);
^
T1.java:56: cannot find symbol
symbol : class FPSAnimator
location: class T1
FPSAnimator animator = new FPSAnimator(canvas, 60);
^
T1.java:56: cannot find symbol
symbol : class FPSAnimator
location: class T1
FPSAnimator animator = new FPSAnimator(canvas, 60);
^
T1.java:76: cannot find symbol
symbol : class GL2
location: class T1
GL2 gl = drawable.getGL().getGL2();
^
T1.java:86: cannot find symbol
symbol : class GL2
location: class T1
GL2 gl = drawable.getGL().getGL2();
^
T1.java:93: cannot find symbol
symbol : class GL2
location: class T1
GL2 gl = drawable.getGL().getGL2();
^
T1.java:99: cannot find symbol
symbol : variable GL2
location: class T1
gl.glMatrixMode(GL2.GL_PROJECTION);
^
T1.java:108: cannot find symbol
symbol : variable GL2
location: class T1
gl.glMatrixMode(GL2.GL_MODELVIEW);
^
T1.java:115: cannot find symbol
symbol : class GLU
location: class Scene
private GLU glu = new GLU();
^
T1.java:116: cannot find symbol
symbol : class GLUT
location: class Scene
private GLUT glut = new GLUT();
^
T1.java:134: cannot find symbol
symbol : variable GL2
location: class Scene
gl.glClear(GL2.GL_COLOR_BUFFER_BIT);
^
T1.java:148: cannot find symbol
symbol : variable GL2
location: class Scene
gl.glBegin(GL2.GL_LINES);
^
32 errors
參考文獻
(截斷的列表)
- http://www.leolol.com/drupal/game-programming
- Ant build classpath jar generates "error in opening zip file"
- http://forum.worldwindcentral.com/archive/index.php?t-10146.html
- (Jogamp維基頁面,在我的大學
- T **ç*******在Ubuntu 64位)
- JOGL does not work after reinstalling ubuntu
- 一個圖形講師安裝Jogamp,(匿名)六揮舞TDDaholic
- http://www.google.com
////////////////////////////////////////
更新
////////////////////////////////////////
第5天的java jogl頭痛更新
進步! = D
現在只有20個與Android相關的錯誤?= S
於是,我開始了一個新的文件夾的/ home /朗博/ libme
我下載:
- JOGL-Linux的amd64.7z 16月 - 2011 13:50 7.0M
- gluegen-Linux的amd64.7z 16月-2011四點53分735K
從:
http://jogamp.org/deployment/jogamp-current/archive/jogamp-linux-amd64/
這一次,我解壓7zip文件,並在每個文件夾中看到一個src zip文件夾。我將兩者的內容複製到libme中,但沒有覆蓋 - 它們共享類似的文件夾結構。
然後我改變了環境變量指向libme。然後我將T1.java移動到libme中。 libme中的Javac給出了以下投訴:
[email protected]:~/libme$ javac T1.java
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:30: package android.content does not exist
import android.content.*;
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:31: package android.content.pm does not exist
import android.content.pm.*;
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:32: package android.util does not exist
import android.util.Log;
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:37: cannot find symbol
symbol : class PackageInfo
location: class jogamp.common.os.android.PackageInfoUtil
public static final PackageInfo getPackageInfo(String packageName) {
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:41: cannot find symbol
symbol : class Context
location: class jogamp.common.os.android.PackageInfoUtil
public static final PackageInfo getPackageInfo(Context ctx, String packageName) {
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:41: cannot find symbol
symbol : class PackageInfo
location: class jogamp.common.os.android.PackageInfoUtil
public static final PackageInfo getPackageInfo(Context ctx, String packageName) {
^
/home/rambo/libme/jogamp/common/os/android/StaticContext.java:30: package android.content does not exist
import android.content.*;
^
/home/rambo/libme/jogamp/common/os/android/StaticContext.java:31: package android.util does not exist
import android.util.Log;
^
/home/rambo/libme/jogamp/common/os/android/StaticContext.java:34: cannot find symbol
symbol : class Context
location: class jogamp.common.os.android.StaticContext
private static Context context = null;
^
/home/rambo/libme/jogamp/common/os/android/StaticContext.java:37: cannot find symbol
symbol : class Context
location: class jogamp.common.os.android.StaticContext
public static final synchronized void setContext(Context ctx) {
^
/home/rambo/libme/jogamp/common/os/android/StaticContext.java:41: cannot find symbol
symbol : class Context
location: class jogamp.common.os.android.StaticContext
public static final synchronized Context getContext() {
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:44: cannot find symbol
symbol : class PackageInfo
location: class jogamp.common.os.android.PackageInfoUtil
final PackageInfo pi = ctx.getPackageManager().getPackageInfo(packageName, PackageManager.GET_META_DATA);
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:44: cannot find symbol
symbol : variable PackageManager
location: class jogamp.common.os.android.PackageInfoUtil
final PackageInfo pi = ctx.getPackageManager().getPackageInfo(packageName, PackageManager.GET_META_DATA);
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:45: cannot find symbol
symbol : variable Log
location: class jogamp.common.os.android.PackageInfoUtil
if(DEBUG) Log.d(MD.TAG, "getPackageInfo("+packageName+"): "+pi);
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:47: cannot find symbol
symbol : variable Log
location: class jogamp.common.os.android.PackageInfoUtil
} catch (Exception e) { if(DEBUG) { Log.d(MD.TAG, "getPackageInfo("+packageName+")", e); } }
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:49: cannot find symbol
symbol : variable Log
location: class jogamp.common.os.android.PackageInfoUtil
if(DEBUG) Log.d(MD.TAG, "getPackageInfo("+packageName+"): NULL");
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:54: cannot find symbol
symbol : class PackageInfo
location: class jogamp.common.os.android.PackageInfoUtil
final PackageInfo pInfo = getPackageInfo(packageName);
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:58: cannot find symbol
symbol : class PackageInfo
location: class jogamp.common.os.android.PackageInfoUtil
final PackageInfo pInfo = getPackageInfo(packageName);
^
/home/rambo/libme/jogamp/common/os/android/PackageInfoUtil.java:60: cannot find symbol
symbol : variable Log
location: class jogamp.common.os.android.PackageInfoUtil
if(DEBUG) Log.d(MD.TAG, "getPackageInfoVersionName("+packageName+"): "+s);
^
/home/rambo/libme/jogamp/common/os/android/StaticContext.java:38: cannot find symbol
symbol : variable Log
location: class jogamp.common.os.android.StaticContext
if(DEBUG) Log.d(MD.TAG, "setContext("+ctx+")");
^
Note: /home/rambo/libme/javax/media/opengl/awt/GLCanvas.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
20 errors
刪除android文件夾沒有幫助。 (如果我只使用了JOGL src和不gluegen,它提供了100個錯誤。從JOAL添加源並沒有任何)
openGL的測試
[email protected]:~$ /usr/lib/nux/unity_support_test -p
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon HD 4500 Series
OpenGL version string: 3.3.11005 Compatibility Profile Context
Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: yes
戴夫說,OpenGL阻止錯誤消息達到eclipse = \ 亞歷克斯從Fedora轉換到Ubuntu 11.10。他沒有任何問題=(也許是11.04 - > 11.10更新。 – xxjjnn