summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/HowToBuild.html17
-rw-r--r--doc/Implementation/IOUtil.testDirExe/linux-noexec-file_attribs.log119
-rw-r--r--doc/Implementation/IOUtil.testDirExe/win32-noexec-SoftwareRestrictionPolicies.log118
-rw-r--r--doc/Implementation/IOUtil.testDirExe/win32-noexec-invalid_executable.log118
-rw-r--r--doc/Implementation/IOUtil.testDirExe/win32-noexec-ntfs_attribs_deny_execute_file.log118
-rwxr-xr-xdoc/manual/index.html8
6 files changed, 492 insertions, 6 deletions
diff --git a/doc/HowToBuild.html b/doc/HowToBuild.html
index dcfe3ba..0e31d37 100644
--- a/doc/HowToBuild.html
+++ b/doc/HowToBuild.html
@@ -65,9 +65,16 @@
<li>gcc</li>
</ul>
One liner install command:
- <pre>
+ <ul>
+ <li><b>Debian</b> 5.00 or later
+ <pre>
apt-get install openjdk-7-jre openjdk-7-jdk ant git-all p7zip-full gcc
- </pre>
+ </pre></li>
+ <li><b>Debian</b> 9.00 Stretch
+ <pre>
+apt-get install openjdk-8-jre openjdk-8-jdk ant git-all p7zip-full gcc
+ </pre></li>
+ </ul>
Optional: Add <i>kernel</i> build utilities:
<pre>
apt-get install kernel-package build-essential
@@ -87,6 +94,12 @@ dpkg --add-architecture i386
apt-get update
apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 gcc-multilib lib32gcc1 lib32gomp1 lib32itm1 lib32quadmath0 libc6-i386 libc6-dev-i386 g++-multilib lib32stdc++6 openjdk-7-jre:i386 openjdk-7-jdk:i386
</pre></li>
+ <li><b>Debian</b> 9.00 Stretch
+ <pre>
+dpkg --add-architecture i386
+apt-get update
+apt-get install lib32z1 lib32ncurses5 gcc-multilib lib32gcc1 lib32gomp1 lib32itm1 lib32quadmath0 libudev1:i386 libc6-i386 libc6-dev-i386 g++-multilib lib32stdc++6 openjdk-8-jre:i386 openjdk-8-jdk:i386
+ </pre></li>
</ul>
</li>
<li> <b>OpenSuSE</b> 10.2 or later
diff --git a/doc/Implementation/IOUtil.testDirExe/linux-noexec-file_attribs.log b/doc/Implementation/IOUtil.testDirExe/linux-noexec-file_attribs.log
new file mode 100644
index 0000000..b7fc4e0
--- /dev/null
+++ b/doc/Implementation/IOUtil.testDirExe/linux-noexec-file_attribs.log
@@ -0,0 +1,119 @@
+LD_LIBRARY_PATH ../build-x86_64/test/build/natives:
+USE_CLASSPATH lib/junit.jar:/opt-share/apache-ant/lib/ant.jar:/opt-share/apache-ant/lib/ant-junit.jar:/opt-share/apache-ant/lib/ant-launcher.jar:lib/semantic-versioning/semver.jar:../build-x86_64/../make/lib/TestJarsInJar.jar:../build-x86_64/gluegen-rt.jar:../build-x86_64/gluegen.jar:../build-x86_64/gluegen-test-util.jar:../build-x86_64/test/build/gluegen-test.jar:../build-x86_64/gluegen-rt-natives.jar
+/opt-linux-x86_64/jre8/bin/java
+java -cp lib/junit.jar:/opt-share/apache-ant/lib/ant.jar:/opt-share/apache-ant/lib/ant-junit.jar:/opt-share/apache-ant/lib/ant-launcher.jar:lib/semantic-versioning/semver.jar:../build-x86_64/../make/lib/TestJarsInJar.jar:../build-x86_64/gluegen-rt.jar:../build-x86_64/gluegen.jar:../build-x86_64/gluegen-test-util.jar:../build-x86_64/test/build/gluegen-test.jar:../build-x86_64/gluegen-rt-natives.jar -Drootrel.build=build-x86_64 -Dgluegen.root=.. -Djogamp.debug.IOUtil -Djogamp.debug.IOUtil.Exe -Djogamp.debug.IOUtil.Exe.NoStream com.jogamp.common.util.TestPlatform01
+JUnit version 4.11
+++++ Test Singleton.ctor()
+++++ Test Singleton.lock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442811548011 ms III - Start
+SLOCK [T main @ 1442811548012 ms +++ localhost/127.0.0.1:59999 - Locked within 5 ms, 1 attempts
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testInfo00
+
+IOUtil.getTempRoot(): tempX1 </tmp>, used true
+IOUtil.getTempRoot(): tempX3 <null>, used false
+IOUtil.getTempRoot(): tempX4 </home/sven>, used true
+IOUtil.getTempRoot(): tempX2 </home/sven/.cache>, used true
+IOUtil.testDirExec: </tmp/jogamp_exe_tst.sh>: Caught IOException: Cannot run program "/tmp/jogamp_exe_tst.sh": error=13, Permission denied
+java.io.IOException: Cannot run program "/tmp/jogamp_exe_tst.sh": error=13, Permission denied
+ at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
+ at java.lang.Runtime.exec(Runtime.java:620)
+ at com.jogamp.common.util.IOUtil.testDirExec(IOUtil.java:948)
+ at com.jogamp.common.util.IOUtil.testDirImpl(IOUtil.java:986)
+ at com.jogamp.common.util.IOUtil.getSubTempDir(IOUtil.java:1046)
+ at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1161)
+ at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.java:81)
+ at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.java:88)
+ at com.jogamp.common.os.Platform$1.run(Platform.java:309)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
+ at com.jogamp.common.util.TestPlatform01.testInfo00(TestPlatform01.java:47)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:497)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
+ at org.junit.rules.RunRules.evaluate(RunRules.java:20)
+ at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runners.Suite.runChild(Suite.java:127)
+ at org.junit.runners.Suite.runChild(Suite.java:26)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
+ at org.junit.runner.JUnitCore.runMain(JUnitCore.java:96)
+ at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:47)
+ at org.junit.runner.JUnitCore.main(JUnitCore.java:40)
+ at com.jogamp.common.util.TestPlatform01.main(TestPlatform01.java:93)
+Caused by: java.io.IOException: error=13, Permission denied
+ at java.lang.UNIXProcess.forkAndExec(Native Method)
+ at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
+ at java.lang.ProcessImpl.start(ProcessImpl.java:134)
+ at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
+ ... 49 more
+IOUtil.testDirExec(): test-exe </tmp/jogamp_exe_tst.sh>, existingFile true, returned -1
+IOUtil.testDirExec(): abs-path </tmp>: res -2 -> false
+IOUtil.testDirExec(): total 72ms, create 0ms, execute 72ms
+IOUtil.testDirImpl(tempX1): </tmp>, create true, exec true: false
+IOUtil.testDirExec(): test-exe </home/sven/.cache/jogamp_exe_tst1387386267639974492.sh>, existingFile false, returned 0
+IOUtil.testDirExec(): abs-path </home/sven/.cache>: res 0 -> true
+IOUtil.testDirExec(): total 17ms, create 13ms, execute 4ms
+IOUtil.testDirImpl(tempX2): </home/sven/.cache>, create true, exec true: true
+IOUtil.testDirExec(): test-exe </home/sven/.cache/jogamp_0000/jogamp_exe_tst906522503538352810.sh>, existingFile false, returned 0
+IOUtil.testDirExec(): abs-path </home/sven/.cache/jogamp_0000>: res 0 -> true
+IOUtil.testDirExec(): total 2ms, create 0ms, execute 2ms
+IOUtil.testDirImpl(tempX2): </home/sven/.cache/jogamp_0000>, create true, exec true: true
+IOUtil.getTempRoot(): temp dirs: exec: /home/sven/.cache/jogamp_0000, noexec: /home/sven/.cache/jogamp_0000
+IOUtil.testDirImpl(testDir): </home/sven/.cache/jogamp_0000/file_cache>, create true, exec false: true
+
+OS name/type: Linux, LINUX
+OS version: 4.1.6-x64-k10-nlb-jau01, 4.1.6
+
+Arch, CPU: amd64, X86_64/X86
+OS/Arch: linux-amd64
+
+Java runtime: Java(TM) SE Runtime Environment
+Java vendor[name/url]: Oracle Corporation/http://java.oracle.com/
+Java version, vm: 1.8.0_60, Java HotSpot(TM) 64-Bit Server VM
+
+MD: MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
+ int8 1 / 1, int16 2 / 2
+ int 4 / 4, long 8 / 8
+ int32 4 / 4, int64 8 / 8
+ float 4 / 4, double 8 / 8, ldouble 16 / 16
+ pointer 8 / 8, page 4096
+
+
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testInfo00
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testPageSize01
+PageSize: 4096
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testPageSize01
+++++ Test Singleton.unlock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442811548171 ms III - Stopping: alive true, shallQuit true, hasSocket true
+SLOCK [T main @ 1442811548171 ms --- localhost/127.0.0.1:59999 - Unlock ok within 1 ms
+
+Time: 0.693
+
+OK (2 tests)
+
+
diff --git a/doc/Implementation/IOUtil.testDirExe/win32-noexec-SoftwareRestrictionPolicies.log b/doc/Implementation/IOUtil.testDirExe/win32-noexec-SoftwareRestrictionPolicies.log
new file mode 100644
index 0000000..d5ab377
--- /dev/null
+++ b/doc/Implementation/IOUtil.testDirExe/win32-noexec-SoftwareRestrictionPolicies.log
@@ -0,0 +1,118 @@
+JUnit version 4.11
+++++ Test Singleton.ctor()
+++++ Test Singleton.lock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442715964261 ms III - Start
+SLOCK [T main @ 1442715964261 ms +++ localhost/127.0.0.1:59999 - Locked within 1032 ms, 1 attempts
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testInfo00
+
+IOUtil.getTempRoot(): tempX1 <C:\cygwin\tmp>, used true
+IOUtil.getTempRoot(): tempX3 <C:\cygwin\tmp>, used false
+IOUtil.getTempRoot(): tempX4 <C:\Users\sven>, used true
+IOUtil.getTempRoot(): tempX2 <null>, used false
+IOUtil: locating <com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, has cl: true
+AssetURLContext.resolve: <com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>
+ERR(0): no protocol: com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz
+AssetURLContext.resolve: type 2: url <jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, conn <sun.net.www.protocol.jar.JarURLConnection:jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, connURL <jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>
+IOUtil: found <bin/exe-windows-i386-2048b.bin.316b.gz> within class package <com/jogamp/common/util/> of given class <com.jogamp.common.util.IOUtil>: true
+IOUtil.testDirExec: <C:\cygwin\tmp\jogamp_exe_tst2114409495120940481.exe>: Caught IOException: Cannot run program "C:\cygwin\tmp\jogamp_exe_tst2114409495120940481.exe": CreateProcess error=1260, This program is blocked by group policy. For more information, contact your system administrator
+java.io.IOException: Cannot run program "C:\cygwin\tmp\jogamp_exe_tst2114409495120940481.exe": CreateProcess error=1260, This program is blocked by group policy. For more information, contact your system administrator
+ at java.lang.ProcessBuilder.start(Unknown Source)
+ at java.lang.Runtime.exec(Unknown Source)
+ at com.jogamp.common.util.IOUtil.testDirExec(IOUtil.java:938)
+ at com.jogamp.common.util.IOUtil.testDirImpl(IOUtil.java:980)
+ at com.jogamp.common.util.IOUtil.getSubTempDir(IOUtil.java:1040)
+ at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1155)
+ at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.java:81)
+ at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.java:88)
+ at com.jogamp.common.os.Platform$1.run(Platform.java:309)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
+ at com.jogamp.common.util.TestPlatform01.testInfo00(TestPlatform01.java:47)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+ at java.lang.reflect.Method.invoke(Unknown Source)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
+ at org.junit.rules.RunRules.evaluate(RunRules.java:20)
+ at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runners.Suite.runChild(Suite.java:127)
+ at org.junit.runners.Suite.runChild(Suite.java:26)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
+ at org.junit.runner.JUnitCore.runMain(JUnitCore.java:96)
+ at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:47)
+ at org.junit.runner.JUnitCore.main(JUnitCore.java:40)
+ at com.jogamp.common.util.TestPlatform01.main(TestPlatform01.java:93)
+Caused by: java.io.IOException: CreateProcess error=1260, This program is blocked by group policy. For more information, contact your system administrator
+ at java.lang.ProcessImpl.create(Native Method)
+ at java.lang.ProcessImpl.<init>(Unknown Source)
+ at java.lang.ProcessImpl.start(Unknown Source)
+ ... 50 more
+IOUtil.testDirExec(): test-exe <C:\cygwin\tmp\jogamp_exe_tst2114409495120940481.exe>
+IOUtil.testDirExec(): abs-path <C:\cygwin\tmp>: res -2 -> false
+IOUtil.testDirExec(): total 172ms, create 78ms, execute 94ms
+IOUtil.testDirImpl(tempX1): <C:\cygwin\tmp>, create true, exec true: false
+IOUtil.testDirExec(): test-exe <C:\Users\sven\jogamp_exe_tst3300634740132855682.exe>
+IOUtil.testDirExec(): abs-path <C:\Users\sven>: res 0 -> true
+IOUtil.testDirExec(): total 78ms, create 0ms, execute 78ms
+IOUtil.testDirImpl(tempX4): <C:\Users\sven>, create true, exec true: true
+IOUtil.testDirExec(): test-exe <C:\Users\sven\.jogamp_0000\jogamp_exe_tst3236854417674340992.exe>
+IOUtil.testDirExec(): abs-path <C:\Users\sven\.jogamp_0000>: res 0 -> true
+IOUtil.testDirExec(): total 16ms, create 0ms, execute 16ms
+IOUtil.testDirImpl(tempX4): <C:\Users\sven\.jogamp_0000>, create true, exec true: true
+IOUtil.getTempRoot(): temp dirs: exec: C:\Users\sven\.jogamp_0000, noexec: C:\Users\sven\.jogamp_0000
+IOUtil.testDirImpl(testDir): <C:\Users\sven\.jogamp_0000\file_cache>, create true, exec false: true
+
+OS name/type: Windows 7, WINDOWS
+OS version: 6.1, 6.1.0
+
+Arch, CPU: amd64, X86_64/X86
+OS/Arch: windows-amd64
+
+Java runtime: Java(TM) SE Runtime Environment
+Java vendor[name/url]: Oracle Corporation/http://java.oracle.com/
+Java version, vm: 1.8.0_60, Java HotSpot(TM) 64-Bit Server VM
+
+MD: MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
+ int8 1 / 1, int16 2 / 2
+ int 4 / 4, long 4 / 4
+ int32 4 / 4, int64 8 / 8
+ float 4 / 4, double 8 / 8, ldouble 16 / 16
+ pointer 8 / 8, page 4096
+
+
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testInfo00
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testPageSize01
+PageSize: 4096
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testPageSize01
+++++ Test Singleton.unlock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442715964729 ms III - Stopping: alive true, shallQuit true, hasSocket true
+SLOCK [T main @ 1442715964729 ms --- localhost/127.0.0.1:59999 - Unlock ok within 0 ms
+
+Time: 2.015
+
+OK (2 tests)
+
diff --git a/doc/Implementation/IOUtil.testDirExe/win32-noexec-invalid_executable.log b/doc/Implementation/IOUtil.testDirExe/win32-noexec-invalid_executable.log
new file mode 100644
index 0000000..3c0992b
--- /dev/null
+++ b/doc/Implementation/IOUtil.testDirExe/win32-noexec-invalid_executable.log
@@ -0,0 +1,118 @@
+JUnit version 4.11
+++++ Test Singleton.ctor()
+++++ Test Singleton.lock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442717359736 ms III - Start
+SLOCK [T main @ 1442717359736 ms +++ localhost/127.0.0.1:59999 - Locked within 1047 ms, 1 attempts
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testInfo00
+
+IOUtil.getTempRoot(): tempX1 <C:\cygwin\tmp>, used true
+IOUtil.getTempRoot(): tempX3 <C:\cygwin\tmp>, used false
+IOUtil.getTempRoot(): tempX4 <C:\Users\sven>, used true
+IOUtil.getTempRoot(): tempX2 <null>, used false
+IOUtil.testDirExec: <C:\cygwin\tmp\jogamp_exe_tst.exe>: Caught IOException: Cannot run program "C:\cygwin\tmp\jogamp_exe_tst.exe": CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher
+java.io.IOException: Cannot run program "C:\cygwin\tmp\jogamp_exe_tst.exe": CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher
+ at java.lang.ProcessBuilder.start(Unknown Source)
+ at java.lang.Runtime.exec(Unknown Source)
+ at com.jogamp.common.util.IOUtil.testDirExec(IOUtil.java:948)
+ at com.jogamp.common.util.IOUtil.testDirImpl(IOUtil.java:990)
+ at com.jogamp.common.util.IOUtil.getSubTempDir(IOUtil.java:1050)
+ at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1165)
+ at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.java:81)
+ at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.java:88)
+ at com.jogamp.common.os.Platform$1.run(Platform.java:309)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
+ at com.jogamp.common.util.TestPlatform01.testInfo00(TestPlatform01.java:47)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+ at java.lang.reflect.Method.invoke(Unknown Source)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
+ at org.junit.rules.RunRules.evaluate(RunRules.java:20)
+ at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runners.Suite.runChild(Suite.java:127)
+ at org.junit.runners.Suite.runChild(Suite.java:26)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
+ at org.junit.runner.JUnitCore.runMain(JUnitCore.java:96)
+ at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:47)
+ at org.junit.runner.JUnitCore.main(JUnitCore.java:40)
+ at com.jogamp.common.util.TestPlatform01.main(TestPlatform01.java:93)
+Caused by: java.io.IOException: CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher
+ at java.lang.ProcessImpl.create(Native Method)
+ at java.lang.ProcessImpl.<init>(Unknown Source)
+ at java.lang.ProcessImpl.start(Unknown Source)
+ ... 50 more
+IOUtil.testDirExec(): test-exe <C:\cygwin\tmp\jogamp_exe_tst.exe>, existingFile true
+IOUtil.testDirExec(): abs-path <C:\cygwin\tmp>: res -2 -> false
+IOUtil.testDirExec(): total 63ms, create 0ms, execute 63ms
+IOUtil.testDirImpl(tempX1): <C:\cygwin\tmp>, create true, exec true: false
+IOUtil: locating <com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, has cl: true
+AssetURLContext.resolve: <com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>
+ERR(0): no protocol: com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz
+AssetURLContext.resolve: type 2: url <jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, conn <sun.net.www.protocol.jar.JarURLConnection:jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, connURL <jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>
+IOUtil: found <bin/exe-windows-i386-2048b.bin.316b.gz> within class package <com/jogamp/common/util/> of given class <com.jogamp.common.util.IOUtil>: true
+IOUtil.testDirExec(): test-exe <C:\Users\sven\jogamp_exe_tst568391728696376020.exe>, existingFile false
+IOUtil.testDirExec(): abs-path <C:\Users\sven>: res 0 -> true
+IOUtil.testDirExec(): total 578ms, create 94ms, execute 484ms
+IOUtil.testDirImpl(tempX4): <C:\Users\sven>, create true, exec true: true
+IOUtil.testDirExec(): test-exe <C:\Users\sven\.jogamp_0000\jogamp_exe_tst1623018008115501549.exe>, existingFile false
+IOUtil.testDirExec(): abs-path <C:\Users\sven\.jogamp_0000>: res 0 -> true
+IOUtil.testDirExec(): total 16ms, create 0ms, execute 16ms
+IOUtil.testDirImpl(tempX4): <C:\Users\sven\.jogamp_0000>, create true, exec true: true
+IOUtil.getTempRoot(): temp dirs: exec: C:\Users\sven\.jogamp_0000, noexec: C:\Users\sven\.jogamp_0000
+IOUtil.testDirImpl(testDir): <C:\Users\sven\.jogamp_0000\file_cache>, create true, exec false: true
+
+OS name/type: Windows 7, WINDOWS
+OS version: 6.1, 6.1.0
+
+Arch, CPU: amd64, X86_64/X86
+OS/Arch: windows-amd64
+
+Java runtime: Java(TM) SE Runtime Environment
+Java vendor[name/url]: Oracle Corporation/http://java.oracle.com/
+Java version, vm: 1.8.0_60, Java HotSpot(TM) 64-Bit Server VM
+
+MD: MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
+ int8 1 / 1, int16 2 / 2
+ int 4 / 4, long 4 / 4
+ int32 4 / 4, int64 8 / 8
+ float 4 / 4, double 8 / 8, ldouble 16 / 16
+ pointer 8 / 8, page 4096
+
+
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testInfo00
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testPageSize01
+PageSize: 4096
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testPageSize01
+++++ Test Singleton.unlock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442717360611 ms III - Stopping: alive true, shallQuit true, hasSocket true
+SLOCK [T main @ 1442717360611 ms --- localhost/127.0.0.1:59999 - Unlock ok within 0 ms
+
+Time: 2.437
+
+OK (2 tests)
+
diff --git a/doc/Implementation/IOUtil.testDirExe/win32-noexec-ntfs_attribs_deny_execute_file.log b/doc/Implementation/IOUtil.testDirExe/win32-noexec-ntfs_attribs_deny_execute_file.log
new file mode 100644
index 0000000..babe6fe
--- /dev/null
+++ b/doc/Implementation/IOUtil.testDirExe/win32-noexec-ntfs_attribs_deny_execute_file.log
@@ -0,0 +1,118 @@
+JUnit version 4.11
+++++ Test Singleton.ctor()
+++++ Test Singleton.lock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442716830836 ms III - Start
+SLOCK [T main @ 1442716830836 ms +++ localhost/127.0.0.1:59999 - Locked within 1032 ms, 1 attempts
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testInfo00
+
+IOUtil.getTempRoot(): tempX1 <C:\cygwin\tmp>, used true
+IOUtil.getTempRoot(): tempX3 <C:\cygwin\tmp>, used false
+IOUtil.getTempRoot(): tempX4 <C:\Users\sven>, used true
+IOUtil.getTempRoot(): tempX2 <null>, used false
+IOUtil: locating <com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, has cl: true
+AssetURLContext.resolve: <com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>
+ERR(0): no protocol: com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz
+AssetURLContext.resolve: type 2: url <jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, conn <sun.net.www.protocol.jar.JarURLConnection:jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>, connURL <jar:file:/C:/projects/jogamp/gluegen/build-win64/gluegen-rt.jar!/com/jogamp/common/util/bin/exe-windows-i386-2048b.bin.316b.gz>
+IOUtil: found <bin/exe-windows-i386-2048b.bin.316b.gz> within class package <com/jogamp/common/util/> of given class <com.jogamp.common.util.IOUtil>: true
+IOUtil.testDirExec: <C:\cygwin\tmp\jogamp_exe_tst.exe>: Caught IOException: Cannot run program "C:\cygwin\tmp\jogamp_exe_tst.exe": CreateProcess error=5, Access is denied
+java.io.IOException: Cannot run program "C:\cygwin\tmp\jogamp_exe_tst.exe": CreateProcess error=5, Access is denied
+ at java.lang.ProcessBuilder.start(Unknown Source)
+ at java.lang.Runtime.exec(Unknown Source)
+ at com.jogamp.common.util.IOUtil.testDirExec(IOUtil.java:943)
+ at com.jogamp.common.util.IOUtil.testDirImpl(IOUtil.java:985)
+ at com.jogamp.common.util.IOUtil.getSubTempDir(IOUtil.java:1045)
+ at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1160)
+ at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.java:81)
+ at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.java:88)
+ at com.jogamp.common.os.Platform$1.run(Platform.java:309)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
+ at com.jogamp.common.util.TestPlatform01.testInfo00(TestPlatform01.java:47)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+ at java.lang.reflect.Method.invoke(Unknown Source)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
+ at org.junit.rules.RunRules.evaluate(RunRules.java:20)
+ at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
+ at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runners.Suite.runChild(Suite.java:127)
+ at org.junit.runners.Suite.runChild(Suite.java:26)
+ at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
+ at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
+ at org.junit.runner.JUnitCore.runMain(JUnitCore.java:96)
+ at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:47)
+ at org.junit.runner.JUnitCore.main(JUnitCore.java:40)
+ at com.jogamp.common.util.TestPlatform01.main(TestPlatform01.java:93)
+Caused by: java.io.IOException: CreateProcess error=5, Access is denied
+ at java.lang.ProcessImpl.create(Native Method)
+ at java.lang.ProcessImpl.<init>(Unknown Source)
+ at java.lang.ProcessImpl.start(Unknown Source)
+ ... 50 more
+IOUtil.testDirExec(): test-exe <C:\cygwin\tmp\jogamp_exe_tst.exe>
+IOUtil.testDirExec(): abs-path <C:\cygwin\tmp>: res -2 -> false
+IOUtil.testDirExec(): total 125ms, create 0ms, execute 125ms
+IOUtil.testDirImpl(tempX1): <C:\cygwin\tmp>, create true, exec true: false
+IOUtil.testDirExec(): test-exe <C:\Users\sven\jogamp_exe_tst7651594440543611975.exe>
+IOUtil.testDirExec(): abs-path <C:\Users\sven>: res 0 -> true
+IOUtil.testDirExec(): total 156ms, create 78ms, execute 78ms
+IOUtil.testDirImpl(tempX4): <C:\Users\sven>, create true, exec true: true
+IOUtil.testDirExec(): test-exe <C:\Users\sven\.jogamp_0000\jogamp_exe_tst3352045683524933560.exe>
+IOUtil.testDirExec(): abs-path <C:\Users\sven\.jogamp_0000>: res 0 -> true
+IOUtil.testDirExec(): total 47ms, create 0ms, execute 47ms
+IOUtil.testDirImpl(tempX4): <C:\Users\sven\.jogamp_0000>, create true, exec true: true
+IOUtil.getTempRoot(): temp dirs: exec: C:\Users\sven\.jogamp_0000, noexec: C:\Users\sven\.jogamp_0000
+IOUtil.testDirImpl(testDir): <C:\Users\sven\.jogamp_0000\file_cache>, create true, exec false: true
+
+OS name/type: Windows 7, WINDOWS
+OS version: 6.1, 6.1.0
+
+Arch, CPU: amd64, X86_64/X86
+OS/Arch: windows-amd64
+
+Java runtime: Java(TM) SE Runtime Environment
+Java vendor[name/url]: Oracle Corporation/http://java.oracle.com/
+Java version, vm: 1.8.0_60, Java HotSpot(TM) 64-Bit Server VM
+
+MD: MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
+ int8 1 / 1, int16 2 / 2
+ int 4 / 4, long 4 / 4
+ int32 4 / 4, int64 8 / 8
+ float 4 / 4, double 8 / 8, ldouble 16 / 16
+ pointer 8 / 8, page 4096
+
+
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testInfo00
+.++++ TestCase.setUp: com.jogamp.common.util.TestPlatform01 - testPageSize01
+PageSize: 4096
+++++ TestCase.tearDown: com.jogamp.common.util.TestPlatform01 - testPageSize01
+++++ Test Singleton.unlock()
+SLOCK [T SingletonServerSocket1-localhost/127.0.0.1:59999 @ 1442716831367 ms III - Stopping: alive true, shallQuit true, hasSocket true
+SLOCK [T main @ 1442716831367 ms --- localhost/127.0.0.1:59999 - Unlock ok within 0 ms
+
+Time: 2.078
+
+OK (2 tests)
+
diff --git a/doc/manual/index.html b/doc/manual/index.html
index 51dec44..d89f626 100755
--- a/doc/manual/index.html
+++ b/doc/manual/index.html
@@ -280,7 +280,7 @@
supports binding C and C++ libraries to a variety of scripting
languages; <a href="http://www.jniwrapper.com/">JNIWrapper</a>, a
commercial tool automating the binding of C APIs to Java; and <a
- href="http://www.noodleglue.org/noodleglue/noodleglue.html">NoodleGlue</a>,
+ href="http://web.archive.org/web/20070419183658/http://www.noodleglue.org/noodleglue/noodleglue.html">NoodleGlue</a>,
a recently-released tool automating the binding of C++ APIs to
Java. Other language-specific tools such as Perl's XS, Boost.Python
and many others exist.
@@ -350,7 +350,7 @@
The source code for GlueGen may be obtained by cloning the Git repository:
<pre>
- $git clone git://github.com/mbien/gluegen.git gluegen
+ $git clone --recursive git://jogamp.org/srv/scm/gluegen.git gluegen
</pre>
To build GlueGen, cd into the gluegen/make folder and invoke ant.
@@ -450,8 +450,8 @@
&lt;/gluegen&gt;
</pre>
- Please see the <a href="http://jogl.dev.java.net/">JOGL</a> and <a
- href="http://joal.dev.java.net/">JOAL</a> build.xml files for
+ Please see the <a href="http://jogamp.org/jogl/">JOGL</a> and <a
+ href="http://jogamp.org/joal/">JOAL</a> build.xml files for
concrete, though non-trivial, examples of how to invoke GlueGen via
Ant.