Jogl Build Headache

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Jogl Build Headache

Penny
For some reason jogl is throwing an "InvocationTargetException" with no further clues as to what the problem is.

With a bit of jiggery pokery I have the following stack trace...

Thread=Thread[thread applet-com/myapp/load/MyApp.class-1,4,http://zenny-x11.home/play/-threadGroup]
 java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\Penny\Desktop\gluegen-rt.dll
  java.lang.ClassLoader.loadLibrary(-1)
   java.lang.Runtime.load0(-1)
    java.lang.System.load(-1)
     com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(468)
      com.jogamp.common.jvm.JNILibLoaderBase.access$000(63)
       com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(94)
        com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(332)
         com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(390)
          com.jogamp.common.os.Platform$1.run(210)
           java.security.AccessController.doPrivileged(-2)
            com.jogamp.common.os.Platform.<clinit>(173)
             javax.media.opengl.GLProfile.<clinit>(82)
              com.ardor3d.framework.jogl.CapsUtil.getProfile(24)
               com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(52)
                com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(35)
                 com.ardor3d.framework.jogl.JoglNewtAwtCanvas.<init>(41)
                  com.ardor3d.framework.jogl.JoglNewtAwtCanvas.<init>(36)
                   com.myapp.load.Test.run(21)
                    com.myapp.load.MyApp.start(81)
                     com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.start(-1)
                      sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(-1)
                       java.lang.Thread.run(-1)

Ok, fine I can rebuild my own version of JOGL and rewrite the code so I ensure it finds the files in the right place. The files should have already been loaded but for some reason not.

To build JOGL I need Android but can I find the appropriate jar file?? Please help.

What other jar files will I need? thanks

I do not use eclipse or github. I just need the jar libraries to put into my classpath.

Many Thanks


Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
hiya,

basically my plan to get to the location on my problem is to download jogamp-all-platforms.7z and extract the source code and remake the libraries so I can perform stack trace and modify the bits to suit my implementation.

However, it is apparent that there are numerous dependencies.

I can use the premade library of guava as it seems to work ok.

I cannot make my own build of gluegen either because of dependencies.

I have managed to remake antlr but the jogl and gluegen appear to require a different version than the current one so many errors are caused in trying to find antlr classes.

why aren't the dependency library jars included in jogamp-all-platforms.7z? or why isn't there a clear list and a link to attain them?

please help
penny
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Sven Gothel
Administrator
On 12/03/2013 05:33 PM, Penny [via jogamp] wrote:

> hiya,
>
> basically my plan to get to the location on my problem is to download
> jogamp-all-platforms.7z and extract the source code and remake the libraries
> so I can perform stack trace and modify the bits to suit my implementation.
>
> However, it is apparent that there are numerous dependencies.
>
> I can use the premade library of guava as it seems to work ok.
>
> I cannot make my own build of gluegen either because of dependencies.
>
> I have managed to remake antlr but the jogl and gluegen appear to require a
> different version than the current one so many errors are caused in trying to
> find antlr classes.
>
> why aren't the dependency library jars included in jogamp-all-platforms.7z? or
> why isn't there a clear list and a link to attain them?
>
http://jogamp.org/wiki/index.php/How_to_Build
http://jogamp.org/jogl/doc/HowToBuild.html

~Sven



signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
Thank you for your help.

I have followed that guide but I have a problem.

It seems ant cannot find gcc. In the yypkg documentation it says the installer doesn't set the system path. I have tried appending the path with D:\yypkg_i686\bin but it didn't work. I cannot seem to find any documentation on how to allow ant to recognise gcc or what the path should be correctly set to.

I would really appreciate a solution thanks.

Regards
Penny

here is the output...

Buildfile: D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml

jogamp.env.validation:
     [echo] ant.version                Apache Ant(TM) version 1.9.2 compiled on July 8 2013
     [echo] ant.java.version           1.7
     [echo] java.version               1.7.0_25
     [echo] java.home                  C:\Program Files\Java\jdk1.7.0_25\jre
     [echo] jvmJava.exe                C:\Program Files\Java\jdk1.7.0_25\jre/bin/java
     [echo] jvmJava7.exe               ${jvmJava7.exe}

jogamp.env.init:
     [echo] jogamp.jar.codebase        
     [echo] jogamp.version             2.1.3-rc-20131203
     [echo] jogamp.version.int         0914017
     [echo] junit.is.disabled          ${junit.is.disabled}
     [echo] target.user.set            ${target.user.set}
     [echo] target.sourcelevel         1.7
     [echo] target.targetlevel         1.7
     [echo] target.rt.jar              C:\Program Files\Java\jdk1.7.0_25\jre/lib/rt.jar
     [echo] host.sourcelevel           1.7
     [echo] host.targetlevel           1.7
     [echo] host.rt.jar                C:\Program Files\Java\jdk1.7.0_25\jre/lib/rt.jar
     [echo] javacdebug                 true
     [echo] javacdebuglevel            source,lines
     [echo] javac.memorymax            1024m
     [echo] build.archiveon            ${build.archiveon}
     [echo] build.node.name            local
     [echo] android.version            9
     [echo] junit.run.arg0             -Djunit.run.arg0=dummy
     [echo] junit.run.arg1             -Djunit.run.arg1=dummy
     [echo] macosx.sdkroot             ${macosx.sdkroot}

gluegen.properties.load.user:
     [echo] Loaded C:\Users\Penny/gluegen.properties.
     [echo] gcc.compat.compiler=gcc
     [echo] antlr.jar=../make/lib/antlr.jar
     [echo] junit.jar=../make/lib/junit.jar
     [echo] win32.c.compiler=mingw64

gluegen.cpptasks.detect.os.custom:
     [echo] gluegen.cpptasks.detect.os.custom: NOP done

gluegen.cpptasks.initialize:
     [echo] os.name=Windows 7
     [echo] os.version=6.1
     [echo] os.arch=amd64
     [echo] c.compiler.debug=false
     [echo] c.compiler.use-debug=${c.compiler.use-debug}
     [echo] c.compiler.optimise=none

gluegen.cpptasks.detect.os.1:

gluegen.cpptasks.detect.os.refine:
     [echo] isI386=${isI386}
     [echo] isAMD64=true
     [echo] is64Bit=true
     [echo] isAbiEabiGnuArmel=${isAbiEabiGnuArmel}
     [echo] isAbiEabiGnuArmhf=${isAbiEabiGnuArmhf}
     [echo] jvmDataModel32Bit=${jvmDataModel32Bit}
     [echo] jvmDataModel64Bit=${jvmDataModel64Bit}
     [echo] jvmDataModel.arg=-Djnlp.no.jvm.data.model.set=true
     [echo] FreeBSD=${isFreeBSD}
     [echo] FreeBSDX86=${isFreeBSDX86}
     [echo] FreeBSDAMD64=${isFreeBSDAMD64}
     [echo] HPUX=${isHPUX}
     [echo] IA64=${isIA64}
     [echo] Android=${isAndroid}
     [echo] AndroidARMv6=${isAndroidARMv6}
     [echo] AndroidARMv6Armel=${isAndroidARMv6Armel}
     [echo] AndroidARMv6Armhf=${isAndroidARMv6Armhf}
     [echo] Linux=${isLinux}
     [echo] LinuxAMD64=${isLinuxAMD64}
     [echo] LinuxIA64=${isLinuxIA64}
     [echo] LinuxX86=${isLinuxX86}
     [echo] LinuxARMv6=${isLinuxARMv6}
     [echo] LinuxARMv6Armel=${isLinuxARMv6Armel}
     [echo] LinuxARMv6Armhf=${isLinuxARMv6Armhf}
     [echo] LinuxAlpha=${isLinuxAlpha}
     [echo] LinuxHppa=${isLinuxHppa}
     [echo] LinuxMips=${isLinuxMips}
     [echo] LinuxMipsel=${isLinuxMipsel}
     [echo] LinuxPpc=${isLinuxPpc}
     [echo] Linuxs390=${isLinuxs390}
     [echo] Linuxs390x=${isLinuxs390x}
     [echo] LinuxSparc=${isLinuxSparc}
     [echo] OS X=${isOSX}
     [echo] OS X PPC=${use.macosppc}
     [echo] OS X x32=${use.macosx32}
     [echo] OS X x64=${use.macosx64}
     [echo] Solaris=${isSolaris}
     [echo] Solaris32Bit=${isSolaris32Bit}
     [echo] Solaris64Bit=${isSolaris64Bit}
     [echo] SolarisSparc=${isSolarisSparc}
     [echo] SolarisSparcv9=${isSolarisSparcv9}
     [echo] SolarisAMD64=${isSolarisAMD64}
     [echo] SolarisX86=${isSolarisX86}
     [echo] Unix=${isUnix}
     [echo] Windows=true
     [echo] X11=${isX11}
     [echo] os=Windows 7
     [echo] os=6.1
     [echo] arch=amd64

gluegen.cpptasks.detect.os.freebsd.amd64:

gluegen.cpptasks.detect.os.freebsd.x86:

gluegen.cpptasks.detect.os.freebsd:

gluegen.cpptasks.detect.os.hpux:

gluegen.cpptasks.detect.os.linux.amd64:

gluegen.cpptasks.detect.os.linux.ia64:

gluegen.cpptasks.detect.os.linux.x86:

gluegen.cpptasks.detect.os.linux.armv6.armel:

gluegen.cpptasks.detect.os.linux.armv6.armhf:

gluegen.cpptasks.detect.os.android.armv6.armel:

gluegen.cpptasks.detect.os.android.armv6.armhf:

gluegen.cpptasks.detect.os.linux.alpha:

gluegen.cpptasks.detect.os.linux.hppa:

gluegen.cpptasks.detect.os.linux.mips:

gluegen.cpptasks.detect.os.linux.mipsel:

gluegen.cpptasks.detect.os.linux.ppc:

gluegen.cpptasks.detect.os.linux.s390:

gluegen.cpptasks.detect.os.linux.s390x:

gluegen.cpptasks.detect.os.linux.sparc:

gluegen.cpptasks.detect.os.linux:

gluegen.cpptasks.detect.os.osx:

gluegen.cpptasks.detect.os.solaris.sparc:

gluegen.cpptasks.detect.os.solaris.sparcv9:

gluegen.cpptasks.detect.os.solaris.amd64:

gluegen.cpptasks.detect.os.solaris.x86:

gluegen.cpptasks.detect.os.solaris:

gluegen.cpptasks.detect.os.unix:

gluegen.cpptasks.detect.os.windows.amd64:

gluegen.cpptasks.detect.os.windows.x86:

gluegen.cpptasks.detect.os.windows:

gluegen.cpptasks.detect.os.2:
     [echo] os and arch: windows-amd64

gluegen.cpptasks.detect.os:

setup.excludes.nsig:

init.base:

init.android:

init:

java.class.path.validate:

validate:

gluegen.build.check.android-launcher:

android-launcher.build:

android-launcher.package:

gluegen.build.check.java:

gluegen.build.java:

gluegen.cpptasks.detect.compiler:
     [echo] gcc.compat.compiler=gcc
     [echo] GCC=true
     [echo] CLANG=${isCLANG}
     [echo] VC6=${isVC6}
     [echo] VC7=${isVC7}
     [echo] VC8=${isVC8}
     [echo] VC8_X64=${isVC8_X64}
     [echo] VC9=${isVC9}
     [echo] MingW=true
     [echo] MingW32=${isMingW32}
     [echo] MingW64=true

setup.java.home.dir.nonmacosx:

setup.java.home.dir.macosx:

setup.java.home.dir:
     [echo] java.home.dir      C:\Program Files\Java\jdk1.7.0_25\jre/..
     [echo] java.includes.dir  C:\Program Files\Java\jdk1.7.0_25\jre/../include

gluegen.cpptasks.configure.compiler:

gluegen.cpptasks.declare.compiler.environment:

gluegen.cpptasks.declare.compiler.win32.vc6:

gluegen.cpptasks.declare.compiler.win32.vc7:

gluegen.cpptasks.declare.compiler.win32.vc8:

gluegen.cpptasks.declare.compiler.win32.vc8_x64:

gluegen.cpptasks.declare.compiler.win32.vc9:

gluegen.cpptasks.declare.compiler.win32.mingw:

gluegen.cpptasks.declare.compiler.win64.mingw:
     [echo] Win64.MingW

gluegen.cpptasks.declare.compiler.win32:

gluegen.cpptasks.declare.compiler.linux.x86:

gluegen.cpptasks.declare.compiler.linux.amd64:

gluegen.cpptasks.declare.compiler.linux.ia64:

gluegen.cpptasks.declare.compiler.linux.armv6:

gluegen.cpptasks.declare.compiler.linux.alpha:

gluegen.cpptasks.declare.compiler.linux.hppa:

gluegen.cpptasks.declare.compiler.linux.mips:

gluegen.cpptasks.declare.compiler.linux.mipsel:

gluegen.cpptasks.declare.compiler.linux.ppc:

gluegen.cpptasks.declare.compiler.linux.s390:

gluegen.cpptasks.declare.compiler.linux.s390x:

gluegen.cpptasks.declare.compiler.linux.sparc:

gluegen.cpptasks.declare.compiler.linux:

gluegen.cpptasks.declare.compiler.solaris32:

gluegen.cpptasks.declare.compiler.solaris.sparcv9:

gluegen.cpptasks.declare.compiler.solaris.amd64:

gluegen.cpptasks.declare.compiler.solaris:

gluegen.cpptasks.declare.compiler.macosx:

gluegen.cpptasks.declare.compiler.freebsd.x86:

gluegen.cpptasks.declare.compiler.freebsd.amd64:

gluegen.cpptasks.declare.compiler.freebsd:

gluegen.cpptasks.declare.compiler.hpux:

gluegen.cpptasks.declare.compiler:
     [echo] java.lib.dir.platform: C:\Program Files\Java\jdk1.7.0_25\jre/../jre/bin

gluegen.cpptasks.setup.compiler:

declare.win32.vc6:

declare.win32.vc7:

declare.win32.vc8:

declare.win32.vc8_x64:

declare.win32.vc9:

declare.win32.mingw:

declare.win64.mingw:
     [echo] Win64.MingW

declare.win32:

declare.linux.x86:

declare.linux.amd64:

declare.linux.ia64:

declare.linux.hppa:

declare.linux.mips:

declare.linux.mipsel:

declare.linux.ppc:

declare.linux.s390:

declare.linux.s390x:

declare.linux.sparc:

declare.linux.armv6:

declare.linux:

declare.android:

declare.solaris32:

declare.solarisSparcv9:

declare.solarisAMD64:

declare.solaris:

declare.macosx:

declare.freebsd.x86:

declare.freebsd.amd64:

declare.freebsd:

declare.hpux:

c.configure:

gluegen.build.c:

jogamp.env.validation:
     [echo] ant.version                Apache Ant(TM) version 1.9.2 compiled on July 8 2013
     [echo] ant.java.version           1.7
     [echo] java.version               1.7.0_25
     [echo] java.home                  C:\Program Files\Java\jdk1.7.0_25\jre
     [echo] jvmJava.exe                C:\Program Files\Java\jdk1.7.0_25\jre/bin/java
     [echo] jvmJava7.exe               ${jvmJava7.exe}

jogamp.env.init:
     [echo] jogamp.jar.codebase        
     [echo] jogamp.version             2.1.3-rc-20131203
     [echo] jogamp.version.int         0914017
     [echo] junit.is.disabled          ${junit.is.disabled}
     [echo] target.user.set            true
     [echo] target.sourcelevel         1.7
     [echo] target.targetlevel         1.7
     [echo] target.rt.jar              C:\Program Files\Java\jdk1.7.0_25\jre/lib/rt.jar
     [echo] host.sourcelevel           1.7
     [echo] host.targetlevel           1.7
     [echo] host.rt.jar                C:\Program Files\Java\jdk1.7.0_25\jre/lib/rt.jar
     [echo] javacdebug                 true
     [echo] javacdebuglevel            source,lines
     [echo] javac.memorymax            1024m
     [echo] build.archiveon            ${build.archiveon}
     [echo] build.node.name            local
     [echo] android.version            9
     [echo] junit.run.arg0             -Djunit.run.arg0=dummy
     [echo] junit.run.arg1             -Djunit.run.arg1=dummy
     [echo] macosx.sdkroot             ${macosx.sdkroot}

gluegen.properties.load.user:

gluegen.cpptasks.detect.os.custom:
     [echo] gluegen.cpptasks.detect.os.custom: NOP done

gluegen.cpptasks.initialize:
     [echo] os.name=Windows 7
     [echo] os.version=6.1
     [echo] os.arch=amd64
     [echo] c.compiler.debug=false
     [echo] c.compiler.use-debug=${c.compiler.use-debug}
     [echo] c.compiler.optimise=none

gluegen.cpptasks.detect.os.1:

gluegen.cpptasks.detect.os.refine:

gluegen.cpptasks.detect.os.freebsd.amd64:

gluegen.cpptasks.detect.os.freebsd.x86:

gluegen.cpptasks.detect.os.freebsd:

gluegen.cpptasks.detect.os.hpux:

gluegen.cpptasks.detect.os.linux.amd64:

gluegen.cpptasks.detect.os.linux.ia64:

gluegen.cpptasks.detect.os.linux.x86:

gluegen.cpptasks.detect.os.linux.armv6.armel:

gluegen.cpptasks.detect.os.linux.armv6.armhf:

gluegen.cpptasks.detect.os.android.armv6.armel:

gluegen.cpptasks.detect.os.android.armv6.armhf:

gluegen.cpptasks.detect.os.linux.alpha:

gluegen.cpptasks.detect.os.linux.hppa:

gluegen.cpptasks.detect.os.linux.mips:

gluegen.cpptasks.detect.os.linux.mipsel:

gluegen.cpptasks.detect.os.linux.ppc:

gluegen.cpptasks.detect.os.linux.s390:

gluegen.cpptasks.detect.os.linux.s390x:

gluegen.cpptasks.detect.os.linux.sparc:

gluegen.cpptasks.detect.os.linux:

gluegen.cpptasks.detect.os.osx:

gluegen.cpptasks.detect.os.solaris.sparc:

gluegen.cpptasks.detect.os.solaris.sparcv9:

gluegen.cpptasks.detect.os.solaris.amd64:

gluegen.cpptasks.detect.os.solaris.x86:

gluegen.cpptasks.detect.os.solaris:

gluegen.cpptasks.detect.os.unix:

gluegen.cpptasks.detect.os.windows.amd64:

gluegen.cpptasks.detect.os.windows.x86:

gluegen.cpptasks.detect.os.windows:

gluegen.cpptasks.detect.os.2:

gluegen.cpptasks.detect.os:

setup.excludes.nsig:

init.base:

init.android:

init:

java.class.path.validate:

validate:

gluegen.cpptasks.detect.compiler:
     [echo] gcc.compat.compiler=gcc
     [echo] GCC=true
     [echo] CLANG=${isCLANG}
     [echo] VC6=${isVC6}
     [echo] VC7=${isVC7}
     [echo] VC8=${isVC8}
     [echo] VC8_X64=${isVC8_X64}
     [echo] VC9=${isVC9}
     [echo] MingW=true
     [echo] MingW32=${isMingW32}
     [echo] MingW64=true

setup.java.home.dir.nonmacosx:

setup.java.home.dir.macosx:

setup.java.home.dir:
     [echo] java.home.dir      C:\Program Files\Java\jdk1.7.0_25\jre/..
     [echo] java.includes.dir  C:\Program Files\Java\jdk1.7.0_25\jre/../include

gluegen.cpptasks.configure.compiler:

gluegen.cpptasks.declare.compiler.environment:

gluegen.cpptasks.declare.compiler.win32.vc6:

gluegen.cpptasks.declare.compiler.win32.vc7:

gluegen.cpptasks.declare.compiler.win32.vc8:

gluegen.cpptasks.declare.compiler.win32.vc8_x64:

gluegen.cpptasks.declare.compiler.win32.vc9:

gluegen.cpptasks.declare.compiler.win32.mingw:

gluegen.cpptasks.declare.compiler.win64.mingw:
     [echo] Win64.MingW

gluegen.cpptasks.declare.compiler.win32:

gluegen.cpptasks.declare.compiler.linux.x86:

gluegen.cpptasks.declare.compiler.linux.amd64:

gluegen.cpptasks.declare.compiler.linux.ia64:

gluegen.cpptasks.declare.compiler.linux.armv6:

gluegen.cpptasks.declare.compiler.linux.alpha:

gluegen.cpptasks.declare.compiler.linux.hppa:

gluegen.cpptasks.declare.compiler.linux.mips:

gluegen.cpptasks.declare.compiler.linux.mipsel:

gluegen.cpptasks.declare.compiler.linux.ppc:

gluegen.cpptasks.declare.compiler.linux.s390:

gluegen.cpptasks.declare.compiler.linux.s390x:

gluegen.cpptasks.declare.compiler.linux.sparc:

gluegen.cpptasks.declare.compiler.linux:

gluegen.cpptasks.declare.compiler.solaris32:

gluegen.cpptasks.declare.compiler.solaris.sparcv9:

gluegen.cpptasks.declare.compiler.solaris.amd64:

gluegen.cpptasks.declare.compiler.solaris:

gluegen.cpptasks.declare.compiler.macosx:

gluegen.cpptasks.declare.compiler.freebsd.x86:

gluegen.cpptasks.declare.compiler.freebsd.amd64:

gluegen.cpptasks.declare.compiler.freebsd:

gluegen.cpptasks.declare.compiler.hpux:

gluegen.cpptasks.declare.compiler:
     [echo] java.lib.dir.platform: C:\Program Files\Java\jdk1.7.0_25\jre/../jre/bin

gluegen.cpptasks.setup.compiler:

declare.win32.vc6:

declare.win32.vc7:

declare.win32.vc8:

declare.win32.vc8_x64:

declare.win32.vc9:

declare.win32.mingw:

declare.win64.mingw:
     [echo] Win64.MingW

declare.win32:

declare.linux.x86:

declare.linux.amd64:

declare.linux.ia64:

declare.linux.hppa:

declare.linux.mips:

declare.linux.mipsel:

declare.linux.ppc:

declare.linux.s390:

declare.linux.s390x:

declare.linux.sparc:

declare.linux.armv6:

declare.linux:

declare.android:

declare.solaris32:

declare.solarisSparcv9:

declare.solarisAMD64:

declare.solaris:

declare.macosx:

declare.freebsd.x86:

declare.freebsd.amd64:

declare.freebsd:

declare.hpux:

c.configure:

gluegen.build.c.impl:
     [echo] Output lib name = gluegen-rt -> gluegen-rt.dll
     [echo] Compiling src/native/windows/*.c src/native/common/*.c
     [echo] user.dir=D:\JAVA\JOGL_BUILD\git\gluegen\make
       [cc] 6 total files to be compiled.

BUILD FAILED
D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml:453: The following error occurred while executing this line:
D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml:478: Could not launch gcc: java.io.IOException: Cannot run program "gcc" (in directory "D:\JAVA\JOGL_BUILD\git\gluegen\build\obj"): CreateProcess error=2, The system cannot find the file specified

Total time: 5 seconds
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
The problem might be that I haven't Ming installed. For some reason I cannot download the latest version via the guide link.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Sven Gothel
Administrator
On 12/03/2013 09:51 PM, Penny [via jogamp] wrote:
> The problem might be that I haven't Ming installed. For some reason I cannot
> download the latest version via the guide link.
>

I just checked the sourceforge links .. all seem to work, i.e.:
  http://mingw-w64.sourceforge.net/
  http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/sjlj/
  http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-win32/sjlj/

.. etc ..

~Sven


signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
hiya, thanks for your help again.

The link that doesn't work is

https://sourceforge.net/projects/mingwbuilds/files/mingw-builds-install/mingw-builds-install.exe/download

and it doesn't work in FF or IE.

I have downloaded

x64-4.8.1-release-win32-sjlj-rev5.7z

I tried unpacking to D:\mingw64 and I set the system path to ;D:\mingw64\bin;D:\mingw64\lib as the very scant guide suggests but the ant compile failed. I am now at a dead end again. Please help many thanks.

gluegen.build.c.impl:
     [echo] Output lib name = gluegen-rt -> gluegen-rt.dll
     [echo] Compiling src/native/windows/*.c src/native/common/*.c
     [echo] user.dir=D:\JAVA\JOGL_BUILD\git\gluegen\make
       [cc] 6 total files to be compiled.
       [cc] gcc: error: CreateProcess: No such file or directory

BUILD FAILED
D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml:453: The following error occurred while executing this line:
D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml:478: gcc failed with return code 1

Total time: 6 seconds



Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Sven Gothel
Administrator
On 12/04/2013 03:12 PM, Penny [via jogamp] wrote:

> hiya, thanks for your help again.
>
> The link that doesn't work is
>
> https://sourceforge.net/projects/mingwbuilds/files/mingw-builds-install/mingw-builds-install.exe/download
>
> and it doesn't work in FF or IE.
>
> I have downloaded
>
> x64-4.8.1-release-win32-sjlj-rev5.7z
>
> I tried unpacking to D:\mingw64 and I set the system path to
> ;D:\mingw64\bin;D:\mingw64\lib as the very scant guide suggests but the ant
> compile failed. I am now at a dead end again. Please help many thanks.
>
> gluegen.build.c.impl:
>      [echo] Output lib name = gluegen-rt -> gluegen-rt.dll
>      [echo] Compiling src/native/windows/*.c src/native/common/*.c
>      [echo] user.dir=D:\JAVA\JOGL_BUILD\git\gluegen\make
>        [cc] 6 total files to be compiled.
>        [cc] gcc: error: CreateProcess: No such file or directory
>
> BUILD FAILED
> D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml:453: The following error
> occurred while executing this line:
> D:\JAVA\JOGL_BUILD\git\gluegen\make\build.xml:478: gcc failed with return code 1
>
The following is a simplified version of my win64 build scripts,
as can be found in 'jogl/scripts/make.jogl.all.win64.bat'

+++

set THISDIR="C:\JOGL"

set J2RE_HOME=c:\jre1.7.0_45_x64
set JAVA_HOME=c:\jdk1.7.0_45_x64
set ANT_PATH=C:\apache-ant-1.8.2

set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw64\bin;%PATH%

REM OPTIONAL
set SOURCE_LEVEL=1.6
set TARGET_LEVEL=1.6
set TARGET_RT_JAR=c:\jre1.6.0_30\lib\rt.jar

set JOGAMP_JAR_CODEBASE=Codebase: *.goethel.localnet

ant -Dc.compiler.debug=true > make.jogl.all.win64.log 2>&1

+++

It has to be invoked as a BAT file, i.e. as a windows process,
not cygwin or anything like that ..

from gluegen/make:
  invoke: scripts/make.jogl.all.win64.bat
from jogl/make:
  invoke scripts/make.jogl.all.win64.bat

Maybe you need to remove 'D:\mingw64\lib' from your PATH ?

If 'D:\mingw64\bin' is in your PATH, you should be able to invoke
gcc from the commandline, and it shall work ..

~Sven



signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
its a bit confusing.

I only wish to compile a few java classes. never been this complicated b4.

am I right in guessing I need to alter THISDIR, J2RE_HOME and ANT_PATH to suit my install?

to be honest I am thinking of modifying the jogl code and get rid of the ANT and gluegen dependencies. Can this be done?

My initial design was to create a browser applet that uses the jogl jars but I am getting a targetinvocationexception.

To this I thought I would move all the jogl and glueden classes to my application jar but it then cant find the dlls or platform dependent code.

ok that failed so as I have the jogl and gluegen source code I thought I would recompile the classes so I could change the path appropriately to it could find the platform natives but now after installing a load of software I didn't want I still cant compile the code. why is this so unnecessarily complicated???

why cant I just put ant, gluegen and jogl jars into my classpath and compile my project???

why cant I just move the gluegen and jogl classes into my project jar and it still work??? why has this been made so complicated????


Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
I put D:\Mingw64\lib into my path because that is what the install guide said for me to do.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
I don't want ANT installed.
I don't want Ming ot Github installed.
I just wish to compile gluegen and jogl using my stariaght forward and simple javac compiler.

why cant I do something so simply???
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
So my goal is to get jogl to compile only using javac.

At the source code I will HACK and HACK and HACK and HACK until it compiles :)

Thank you

Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

gouessej
Administrator
In reply to this post by Penny
Penny wrote
why has this been made so complicated????
Come down to Earth, JOGL 1 was a lot more complicated to build. Personally, I just get JOGL, JOAL and GlueGen from Github with EGit in Eclipse 4 and the Ant build runs automatically. Just follow the HowToBuild and don't try to customize it by any mean. If we could do something more simple, we would. Dropping Ant won't drive anything easier.

Edit.: Applets are a pure waste of time in my humble opinion. Oracle modifies the security policy so often that I refuse using them in production, it has become too much dangerous.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Wade Walker
Administrator
In reply to this post by Penny
Penny wrote
So my goal is to get jogl to compile only using javac.
At the source code I will HACK and HACK and HACK and HACK until it compiles :)
I'm not sure this can work, because the source code for JOGL is more than just Java code. The build process invokes gluegen to convert the OpenGL header files to Java interfaces. Then it uses javah to convert those interfaces to C header and stub source files. Then those C files are compiled with gcc so JOGL can call OpenGL via JNI. Then finally the pure Java source can be compiled with javac at the end of the process.

This process could be reduced if we used JNA, but that didn't exist when JOGL started years ago, and I've heard it's slower than JNI (I don't have personal experience of this, though). But if you wanted, you could convert JOGL to use JNA and see how it performs :)

So as gouessej says, if there were an easier way, we would do it -- within current constraints, this is about as easy as it gets. Just about any large project has some non-trivial build process that's not so easy to just replace with an alternative.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
Thanks for your replies.

Yes I am very frustrated and it looks like my project is in the bin unless I can resolve the issue I have.

It works fine using javaw. It used to work fine using an applet within a browser.

The whole point of my project is that it works from an applet browser. If I am unable to do that then it goes in the bin and the last 3 years of my life have been completely wasted.

For the life of me I cannot resolve the problem of getting my applets to load the natives.

Is there some way I can tell gluegen and jogl where to find the native. Ideally I would like to place then inside the main gluegen/jogl jar and inform those packages where to find them. In fact that is all I wanted to achieve when I set about recompiling my own implementation.

Please help many thanks
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Wade Walker
Administrator
Have you looked at how the test applets do it? Check at http://jogamp.org/deployment/jogamp-current/jogl-test-applets.html, there are many examples. There can be some permission issues with some browsers and OSes, but it should be broadly workable. There are also many examples in the forums of people talking about how they've resolved applet problems.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

gouessej
Administrator
In reply to this post by Penny
Actually, there are still a few things preventing the merge of all JARs into a single one, I still have to keep the native libraries in separate JARs but it works when they are in the same directory.

I hope that you plan to pay for a trusted certificate because it's going to become mandatory :(

Edit.: I agree with Wade. There is probably a solution that doesn't require to modify and rebuild JogAmp as several people already succeeded in running applets.

Edit.2: Use the automatic extraction of native libraries instead of using DLLs directly.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
Hi,

Thanks Wade, the test applets worked fine on your link worked fine.

I did a little test...

I copied the exact html from one of the test applets and made test.htm in a new directory.

I then extracted all of the jars from jogamp-all-platforms.7z into the same directory.

I opened the htm in a browser and I had the same error... Could not find gluegen-rt.dll

I thought ok maybe there is something on my PC that is causing the error so I did the same on another PC and I had exactly the same error.

why does the test in the provided link work yet my own copy not? all of the jars are present in the same directory and untouched.

yes gouessej I fully intend to get my own trusted cert but as it costs and only lasts a year I am planning on purchasing closer to when I roll out my project.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
note:my project works fine using javaw.

thank you gouessej - you have help me a lot over the last few years.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl Build Headache

Penny
Ok I think I have found the cause of the problem.

I have just successfully run my test using an applet from my page server.

The new security requirements caused the problem but it wasn't very helpful of the system just to say "could not find gluegen-rt.dll"

cause and effect...

#1 because gluegen and jogl are trusted but the original jars are unsigned the applet blocks so I signed them with my self-cert.

#2 an error "incorrect codebase" occurred so I modified the manifest file so the codebase included my page server. this seems silly because anyone can change the codebase and repurpose the code...

what I was unaware of and what caused me all the trouble is that I modified the manifest codebase after I signed it but resigning it. I thought it was resigning successfully but by chance, 2 mins ago, I noticed the resigning was failing.

So instead of the system saying "Theres a mismatch in your signed jar" is just said "couldn't find gluegen-rt.dll" which was really frustrating!!!

To overcome the signing failure I hade to delete the SF and DSA from the META-INF directory and then it resigned successfully and low and behold my applet ran successfully from a page served from my web server.

I had to do this to jogl-test.jar, gluegen-rt.jar and jogl-all.jar
all my other jars are signed without permissions or codebase.

Now understanding the cause of this problem I will make these changes to my project and see how I get on.

Many thanks to everyone supporting me get to the bottom of this difficult time lol.

Regards
Penny :)




12