[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: Problem accessing jfx native libs under eclipse on windows
From:       Vadim Pakhnushev <vadim.pakhnushev () oracle ! com>
Date:       2014-10-29 21:29:40
Message-ID: 54515C44.9080401 () oracle ! com
[Download RAW message or body]

I think the fix for this is as simple as:
diff -r 93f42b396c81 build.gradle
--- a/build.gradle    Wed Oct 29 09:25:31 2014 +0300
+++ b/build.gradle    Thu Oct 30 00:27:59 2014 +0300
@@ -113,10 +113,13 @@
      if (path == null || "".equals(path)) return path;
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      logger.info("Converting path '$path' via cygpath")
-    exec {
+    def res = exec {
+        ignoreExitValue = true
          standardOutput = out
          commandLine "cmd", "/c", "cygpath", "-m", path
      }
+    // if cygpath failed then we are running without cygwin?
+    if (res.exitValue != 0) return path;
      return out.toString().trim();
  }


This will effectively bypass cygpath calls and will enable to build at 
least OpenJFX without Cygwin while not breaking anything running from 
Cygwin.

Vadim

On 29.10.2014 21:51, Vadim Pakhnushev wrote:
> Unfortunately, gradle detects Cygwin and modifies JAVA_HOME 
> environment variable preventing using it without cygpath later on.
> https://issues.gradle.org/browse/GRADLE-2673
> So this will break building from Cygwin.
> 
> Vadim
> 
> On 29.10.2014 20:59, Scott Palmer wrote:
> > If cygpath isn't needed and that's all cygwin was used for, and you 
> > already modified build.gradle to avoid the cygpath calls.... What's 
> > stopping you for checking that in so the cygwin requirement for 
> > OpenJFX can be dropped?
> > 
> > The Gradle C/C++ support includes a method for creating a VS project 
> > from the Gradle source (since Gradle 1.11, see 
> > http://www.gradle.org/docs/1.11/release-notes#generate-visual-studio-configuration-for-a-native-binary-project). \
> >  So you should be able to get that productivity boost without having 
> > to roll your own project files and maintain them.
> > 
> > Scott
> > 
> > On Wed, Oct 29, 2014 at 12:04 PM, Vadim Pakhnushev 
> > <vadim.pakhnushev@oracle.com <mailto:vadim.pakhnushev@oracle.com>> 
> > wrote:
> > 
> > At least for the OpenJFX without media/webkit Cygwin is used only
> > for path manipulation (cygpath) so I don't think dropping it will
> > boost performance at all.
> > In fact, I just did a quick test and built OpenJFX without cygwin
> > at all (modifying build.gradle so it will not call cygpath).
> > 
> > Visual Studio is the only viable option for Windows development.
> > When I was actively developing native Windows code, I created my
> > own VS project which can build native dlls just fine without even
> > calling gradle and that was huge productivity boost.
> > 
> > Thanks,
> > Vadim
> > 
> > 
> > On 29.10.2014 18:05, Chris Bensen wrote:
> > 
> > +1 Visual Studio provides the best debugger and losing that
> > would be very sad.
> > 
> > If we didn't require Cygwin the build would also be faster!
> > 
> > Chris
> > 
> > 
> > On Oct 24, 2014, at 9:00 PM, Scott Palmer <swpalmer@gmail.com
> > <mailto:swpalmer@gmail.com>> wrote:
> > 
> > Jettisoning the MS tools would be a bad idea. The Visual
> > Studio compiler or the Intel compiler are really the only
> > reasonable options for building native code on Windows.
> > I'm not aware of any professional programmer that uses GCC
> > on Windows... Not because GCC is bad, the Windows ports
> > just aren't capable of compiling against a real Windows
> > SDK. The MinGW tools come with their own headers to try to
> > work around this, but the last time I checked, it just
> > didn't work well enough.
> > 
> > That said,I think the right approach in the long term is
> > to move the build to use Gradle's support for C and C++.
> > It supports the MS compiler as well as MinGW on Windows
> > and all the popular compilers on other platforms. If we
> > combined that with the ability to build just the 32bit JDK
> > when running with the MS compiler, it would offer a decent
> > solution for those using free tools on Windows.
> > 
> > Another goal should be to remove the requirement for
> > Cygwin as it can cause its own set of problems. I'm not
> > sure what it is used for that can't be done with Gradle
> > and/or pure java libraries directly.
> > 
> > Scott
> > 
> > On Oct 24, 2014, at 2:05 PM, Richard Steiger
> > <rsteiger@ensemblesoft.net
> > <mailto:rsteiger@ensemblesoft.net>> wrote:
> > 
> > Stephen,
> > 
> > Sorry for the mis-communication: in my original
> > message, I was able to do incremental java
> > compilation, but hadn't tried to do the full build,
> > since hadn't made changes to any of the native code.
> > Your reply straighted me out, that I need to be doing
> > full builds to pick-up changes in either the cpp or
> > low-level java code.  I haven't been able to get the
> > native builds to work, without it failing in either
> > the cpp compiler or linker.
> > 
> > I still could use a hand to get working tooling.
> > 
> > Also, care to comment whether there's any plan to
> > jetisson the MS tools in the openjfx project, or at
> > least align it with openjdk9's build system?
> > 
> > Thanks,
> > 
> > -rjs
> > 
> > On 10/24/2014 10:43 AM, Stephen F Northover wrote:
> > Hi Richard,
> > 
> > Your previous email indicated that you could
> > build, but that you can't see the shared libraries.
> > 
> > Please try adding this the VM Arguments of your
> > Eclipse launch configuration:
> > 
> > -Djava.library.path=${workspace_loc:rt}/build/sdk/rt/bin
> > -Djavafx.verbose=true
> > 
> > Thanks,
> > Steve
> > 
> > On 2014-10-24, 1:31 PM, Richard Steiger wrote:
> > To recap a message I sent to the list on 9/12,
> > I'm a newbie to JavaFX, and hoping to be able
> > to contribute, initially fixing bugs.
> > 
> > Stephen, I'm attempting to follow the
> > instructions at:
> > https://wiki.openjdk.java.net/display/OpenJFX/Using+an+IDE,
> > and have found that the Visual Studio tools it
> > calls out don't include the amd64 tools, have
> > struggled to adapt win.gradle to VS 2011, and
> > otherwise dulled my pick.   Also, when
> > comparing the above instructions to openjdk9's
> > build setup, I'm also wondering whether
> > someone's revised the openjfx win build to use
> > gcc, MinGW, Code::Blocks, clang++, or any
> > other toolset besides the MS crud.
> > 
> > Rather than dragging y'all through the
> > blow-by-blow challenges I've been getting hit
> > with, what I'm hoping is that one of you who's
> > actively developing on a 64-bit Windows 7+
> > environment is willing to lend a hand to get
> > me set-up with a working rig. Please reply to
> > just me if you're willing to help, I think I
> > just need a few minutes here and there to pick
> > the right tools, verify I'm working against
> > the correct repo, etc.
> > 
> > Thanks in advance,
> > 
> > -rjs
> > 
> > On 9/12/2014 2:40 PM, Stephen F Northover
> > wrote:
> > Hi Richard,
> > 
> > Did you follow the instructions at this
> > link:
> > https://wiki.openjdk.java.net/display/OpenJFX/Using+an+IDE
> > ?
> > 
> > You are picking up a set of shared
> > libraries that do not match the java code
> > you are running in the IDE.  You need to
> > set java.library.path.  It's on the wiki
> > and I meant to update it to be something
> > sensible.  My build puts the dll's in an
> > artifacts directory:
> > 
> > -Djava.library.path=${workspace_loc:rt}/../artifacts/sdk/rt/bin
> > 
> > You will need to edit this expression to
> > pick up the dll's from the standard build
> > place (which I forget right now).
> > 
> > Steve
> > 
> > On 2014-09-12, 5:31 PM, Richard
> > Steiger wrote:
> > I'm a newbie to JavaFX, and hoping to
> > be able to contribute down the road
> > once I learn much more about it.
> > 
> > To that end, I've been trying to get
> > 8u-dev eclipse projects setup on a
> > Win7 box so I can start stepping
> > through the code. The current
> > show-stopper is getting
> > UnsatisfiedLinkErrors when the system
> > is trying to access dlls, such as
> > glass.dll.
> > 
> > My rig:
> > 
> > * jdk1.8.0_05
> > *
> > eclipse-SDK-N20140722-2000-win32-x86_64 (Mars
> > stable build, has fix
> > for StackOverflow bug in eclipse j8
> > compiler)
> > * hg clone of 8u-dev as of 8/26
> > 
> > Setup:
> > 
> > * ran the gradle build (successfully)
> > * imported the eclipse projects in the
> > repo, all cleanly compile (but
> > had to fix cross-project links and
> > manually locate and attach 3p libs)
> > * removed javafx.* and related JavaFX
> > sources from JAVA_HOME/src
> > * moved jfxrt.jar to a cache directory
> > 
> > Failure situation:
> > 
> > * attempting to launch jfx apps under
> > eclipse debugger
> > 
> > The following console output is
> > typical of what I'm running into (with
> > -verbose:jni on the command line):
> > 
> > [Dynamic-linking native method
> > java.lang.Object.registerNatives ... 
> > JNI]
> > [Registering JNI native method
> > java.lang.Object.hashCode]
> > [Registering JNI native method
> > java.lang.Object.wait]
> > [Registering JNI native method
> > java.lang.Object.notify]
> > [Registering JNI native method
> > java.lang.Object.notifyAll]
> > [Registering JNI native method
> > java.lang.Object.clone]
> > [Dynamic-linking native method
> > java.lang.System.registerNatives ... 
> > JNI]
> > [Registering JNI native method
> > java.lang.System.currentTimeMillis]
> > [Registering JNI native method
> > java.lang.System.nanoTime]
> > [Registering JNI native method
> > java.lang.System.arraycopy]
> > [Dynamic-linking native method
> > java.lang.Thread.registerNatives ... 
> > JNI]
> > [Registering JNI native method
> > java.lang.Thread.start0]
> > [Registering JNI native method
> > java.lang.Thread.stop0]
> > [Registering JNI native method
> > java.lang.Thread.isAlive]
> > [Registering JNI native method
> > java.lang.Thread.suspend0]
> > [Registering JNI native method
> > java.lang.Thread.resume0]
> > [Registering JNI native method
> > java.lang.Thread.setPriority0]
> > [Registering JNI native method
> > java.lang.Thread.yield]
> > [Registering JNI native method
> > java.lang.Thread.sleep]
> > [Registering JNI native method
> > java.lang.Thread.currentThread]
> > [Registering JNI native method
> > java.lang.Thread.countStackFrames]
> > [Registering JNI native method
> > java.lang.Thread.interrupt0]
> > [Registering JNI native method
> > java.lang.Thread.isInterrupted]
> > [Registering JNI native method
> > java.lang.Thread.holdsLock]
> > [Registering JNI native method
> > java.lang.Thread.getThreads]
> > [Registering JNI native method
> > java.lang.Thread.dumpThreads]
> > [Registering JNI native method
> > java.lang.Thread.setNativeName]
> > [Dynamic-linking native method
> > java.security.AccessController.getStackAccessControlContext
> > ... JNI]
> > [Dynamic-linking native method
> > java.security.AccessController.getInheritedAccessControlContext
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.Class.registerNatives ... JNI]
> > [Registering JNI native method
> > java.lang.Class.getName0]
> > [Registering JNI native method
> > java.lang.Class.getSuperclass]
> > [Registering JNI native method
> > java.lang.Class.getInterfaces0]
> > [Registering JNI native method
> > java.lang.Class.getClassLoader0]
> > [Registering JNI native method
> > java.lang.Class.isInterface]
> > [Registering JNI native method
> > java.lang.Class.getSigners]
> > [Registering JNI native method
> > java.lang.Class.setSigners]
> > [Registering JNI native method
> > java.lang.Class.isArray]
> > [Registering JNI native method
> > java.lang.Class.isPrimitive]
> > [Registering JNI native method
> > java.lang.Class.getComponentType]
> > [Registering JNI native method
> > java.lang.Class.getModifiers]
> > [Registering JNI native method
> > java.lang.Class.getDeclaredFields0]
> > [Registering JNI native method
> > java.lang.Class.getDeclaredMethods0]
> > [Registering JNI native method
> > java.lang.Class.getDeclaredConstructors0]
> > [Registering JNI native method
> > java.lang.Class.getProtectionDomain0]
> > [Registering JNI native method
> > java.lang.Class.getDeclaredClasses0]
> > [Registering JNI native method
> > java.lang.Class.getDeclaringClass0]
> > [Registering JNI native method
> > java.lang.Class.getGenericSignature0]
> > [Registering JNI native method
> > java.lang.Class.getRawAnnotations]
> > [Registering JNI native method
> > java.lang.Class.getConstantPool]
> > [Registering JNI native method
> > java.lang.Class.desiredAssertionStatus0]
> > [Registering JNI native method
> > java.lang.Class.getEnclosingMethod0]
> > [Registering JNI native method
> > java.lang.Class.getRawTypeAnnotations]
> > [Dynamic-linking native method
> > java.lang.ClassLoader.registerNatives
> > ... JNI]
> > [Registering JNI native method
> > java.lang.ClassLoader.retrieveDirectives]
> > [Dynamic-linking native method
> > java.security.AccessController.doPrivileged
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.Class.getPrimitiveClass ... JNI]
> > [Dynamic-linking native method
> > java.lang.Float.floatToRawIntBits ... JNI]
> > [Dynamic-linking native method
> > java.lang.Double.doubleToRawLongBits
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.Double.longBitsToDouble ... JNI]
> > [Dynamic-linking native method
> > java.lang.System.initProperties ... JNI]
> > [Dynamic-linking native method
> > sun.misc.VM.initialize ... JNI]
> > [Dynamic-linking native method
> > java.lang.Runtime.maxMemory ... JNI]
> > [Dynamic-linking native method
> > java.io.FileInputStream.initIDs ... JNI]
> > [Dynamic-linking native method
> > java.io.FileDescriptor.initIDs ... JNI]
> > [Dynamic-linking native method
> > sun.misc.Unsafe.registerNatives ... JNI]
> > [Registering JNI native method
> > sun.misc.Unsafe.getObject]
> > [Registering JNI native method
> > sun.misc.Unsafe.putObject]
> > [Registering JNI native method
> > sun.misc.Unsafe.getObjectVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putObjectVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getBoolean]
> > [Registering JNI native method
> > sun.misc.Unsafe.putBoolean]
> > [Registering JNI native method
> > sun.misc.Unsafe.getBooleanVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putBooleanVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.putByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.getByteVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putByteVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.putShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.getShortVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putShortVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.putChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.getCharVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putCharVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.putInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.getIntVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putIntVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.putLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLongVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putLongVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.putFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.getFloatVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putFloatVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.putDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.getDoubleVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putDoubleVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.putByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.getShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.putShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.getChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.putChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.getInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.putInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.putLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.getFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.putFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.getDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.putDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.getAddress]
> > [Registering JNI native method
> > sun.misc.Unsafe.putAddress]
> > [Registering JNI native method
> > sun.misc.Unsafe.allocateMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.reallocateMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.freeMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.objectFieldOffset]
> > [Registering JNI native method
> > sun.misc.Unsafe.staticFieldOffset]
> > [Registering JNI native method
> > sun.misc.Unsafe.staticFieldBase]
> > [Registering JNI native method
> > sun.misc.Unsafe.ensureClassInitialized]
> > [Registering JNI native method
> > sun.misc.Unsafe.arrayBaseOffset]
> > [Registering JNI native method
> > sun.misc.Unsafe.arrayIndexScale]
> > [Registering JNI native method
> > sun.misc.Unsafe.addressSize]
> > [Registering JNI native method
> > sun.misc.Unsafe.pageSize]
> > [Dynamic-linking native method
> > java.lang.Throwable.fillInStackTrace
> > ... JNI]
> > [Registering JNI native method
> > sun.misc.Unsafe.getObject]
> > [Registering JNI native method
> > sun.misc.Unsafe.putObject]
> > [Registering JNI native method
> > sun.misc.Unsafe.getObjectVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putObjectVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getBoolean]
> > [Registering JNI native method
> > sun.misc.Unsafe.putBoolean]
> > [Registering JNI native method
> > sun.misc.Unsafe.getBooleanVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putBooleanVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.putByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.getByteVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putByteVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.putShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.getShortVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putShortVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.putChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.getCharVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putCharVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.putInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.getIntVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putIntVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.putLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLongVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putLongVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.putFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.getFloatVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putFloatVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.putDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.getDoubleVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.putDoubleVolatile]
> > [Registering JNI native method
> > sun.misc.Unsafe.getByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.putByte]
> > [Registering JNI native method
> > sun.misc.Unsafe.getShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.putShort]
> > [Registering JNI native method
> > sun.misc.Unsafe.getChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.putChar]
> > [Registering JNI native method
> > sun.misc.Unsafe.getInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.putInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.putLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.getFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.putFloat]
> > [Registering JNI native method
> > sun.misc.Unsafe.getDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.putDouble]
> > [Registering JNI native method
> > sun.misc.Unsafe.getAddress]
> > [Registering JNI native method
> > sun.misc.Unsafe.putAddress]
> > [Registering JNI native method
> > sun.misc.Unsafe.allocateMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.reallocateMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.freeMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.objectFieldOffset]
> > [Registering JNI native method
> > sun.misc.Unsafe.staticFieldOffset]
> > [Registering JNI native method
> > sun.misc.Unsafe.staticFieldBase]
> > [Registering JNI native method
> > sun.misc.Unsafe.ensureClassInitialized]
> > [Registering JNI native method
> > sun.misc.Unsafe.arrayBaseOffset]
> > [Registering JNI native method
> > sun.misc.Unsafe.arrayIndexScale]
> > [Registering JNI native method
> > sun.misc.Unsafe.addressSize]
> > [Registering JNI native method
> > sun.misc.Unsafe.pageSize]
> > [Registering JNI native method
> > sun.misc.Unsafe.defineClass]
> > [Registering JNI native method
> > sun.misc.Unsafe.allocateInstance]
> > [Registering JNI native method
> > sun.misc.Unsafe.monitorEnter]
> > [Registering JNI native method
> > sun.misc.Unsafe.monitorExit]
> > [Registering JNI native method
> > sun.misc.Unsafe.tryMonitorEnter]
> > [Registering JNI native method
> > sun.misc.Unsafe.throwException]
> > [Registering JNI native method
> > sun.misc.Unsafe.compareAndSwapObject]
> > [Registering JNI native method
> > sun.misc.Unsafe.compareAndSwapInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.compareAndSwapLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.putOrderedObject]
> > [Registering JNI native method
> > sun.misc.Unsafe.putOrderedInt]
> > [Registering JNI native method
> > sun.misc.Unsafe.putOrderedLong]
> > [Registering JNI native method
> > sun.misc.Unsafe.park]
> > [Registering JNI native method
> > sun.misc.Unsafe.unpark]
> > [Registering JNI native method
> > sun.misc.Unsafe.getLoadAverage]
> > [Registering JNI native method
> > sun.misc.Unsafe.copyMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.setMemory]
> > [Registering JNI native method
> > sun.misc.Unsafe.defineAnonymousClass]
> > [Registering JNI native method
> > sun.misc.Unsafe.shouldBeInitialized]
> > [Registering JNI native method
> > sun.misc.Unsafe.loadFence]
> > [Registering JNI native method
> > sun.misc.Unsafe.storeFence]
> > [Registering JNI native method
> > sun.misc.Unsafe.fullFence]
> > [Dynamic-linking native method
> > sun.reflect.Reflection.getCallerClass
> > ... JNI]
> > [Dynamic-linking native method
> > java.io.FileDescriptor.set ... JNI]
> > [Dynamic-linking native method
> > java.io.FileOutputStream.initIDs ... 
> > JNI]
> > [Dynamic-linking native method
> > java.security.AccessController.doPrivileged
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.String.intern ... JNI]
> > [Dynamic-linking native method
> > java.lang.System.setIn0 ... JNI]
> > [Dynamic-linking native method
> > java.lang.Object.getClass ... JNI]
> > [Dynamic-linking native method
> > java.lang.Class.forName0 ... JNI]
> > [Dynamic-linking native method
> > sun.reflect.Reflection.getClassAccessFlags
> > ... JNI]
> > [Dynamic-linking native method
> > sun.reflect.NativeConstructorAccessorImpl.newInstance0
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.System.setOut0 ... JNI]
> > [Dynamic-linking native method
> > java.lang.System.setErr0 ... JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.initIDs ... JNI]
> > [Dynamic-linking native method
> > java.lang.System.mapLibraryName ... JNI]
> > [Dynamic-linking native method
> > java.lang.ClassLoader$NativeLibrary.findBuiltinLib
> > ... JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.getBooleanAttributes
> > ... JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.canonicalize0
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.ClassLoader$NativeLibrary.load
> > ... JNI]
> > [Dynamic-linking native method
> > sun.misc.Signal.findSignal ... JNI]
> > [Dynamic-linking native method
> > sun.misc.Signal.handle0 ... JNI]
> > [Dynamic-linking native method
> > sun.io.Win32ErrorMode.setErrorMode ...
> > JNI]
> > [Dynamic-linking native method
> > java.lang.Compiler.registerNatives ...
> > JNI]
> > [Registering JNI native method
> > java.lang.Compiler.compileClass]
> > [Registering JNI native method
> > java.lang.Compiler.compileClasses]
> > [Registering JNI native method
> > java.lang.Compiler.command]
> > [Registering JNI native method
> > java.lang.Compiler.enable]
> > [Registering JNI native method
> > java.lang.Compiler.disable]
> > [Dynamic-linking native method
> > java.lang.Class.isAssignableFrom ... 
> > JNI]
> > [Dynamic-linking native method
> > java.io.FileInputStream.open ... JNI]
> > [Dynamic-linking native method
> > java.io.FileInputStream.readBytes ... JNI]
> > [Dynamic-linking native method
> > java.io.FileInputStream.available ... JNI]
> > [Dynamic-linking native method
> > java.lang.reflect.Array.newArray ... 
> > JNI]
> > [Dynamic-linking native method
> > java.lang.Runtime.availableProcessors
> > ... JNI]
> > [Dynamic-linking native method
> > java.io.FileInputStream.close0 ... JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.list ... JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.canonicalizeWithPrefix0
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.ClassLoader.findLoadedClass0
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.ClassLoader.findBootstrapClass
> > ... JNI]
> > [Dynamic-linking native method
> > sun.misc.VMSupport.initAgentProperties
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.invoke.MethodHandleNatives.registerNatives
> > ... JNI]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.init]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.expand]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.resolve]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.getConstant]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.getNamedCon]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.getMembers]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.objectFieldOffset]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.setCallSiteTargetNormal]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.setCallSiteTargetVolatile]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.staticFieldOffset]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.staticFieldBase]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandleNatives.getMemberVMInfo]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandle.invoke]
> > [Registering JNI native method
> > java.lang.invoke.MethodHandle.invokeExact]
> > [Dynamic-linking native method
> > java.lang.ClassLoader$NativeLibrary.find
> > ... JNI]
> > [Dynamic-linking native method
> > java.security.AccessController.doPrivileged
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.initIDs ... JNI]
> > [Dynamic-linking native method
> > java.lang.Package.getSystemPackage0
> > ... JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.getLength ... JNI]
> > [Dynamic-linking native method
> > sun.misc.Perf.registerNatives ... JNI]
> > [Registering JNI native method
> > sun.misc.Perf.attach]
> > [Registering JNI native method
> > sun.misc.Perf.detach]
> > [Registering JNI native method
> > sun.misc.Perf.createLong]
> > [Registering JNI native method
> > sun.misc.Perf.createByteArray]
> > [Registering JNI native method
> > sun.misc.Perf.highResCounter]
> > [Registering JNI native method
> > sun.misc.Perf.highResFrequency]
> > [Dynamic-linking native method
> > java.lang.ClassLoader.defineClass1 ...
> > JNI]
> > [Dynamic-linking native method
> > java.io.WinNTFileSystem.getLastModifiedTime
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.open ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getTotal ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.startsWithLOC
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntry ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntryFlag ...
> > JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntryTime ...
> > JNI]
> > [Dynamic-linking native method
> > java.util.TimeZone.getSystemTimeZoneID
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.CRC32.updateBytes ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntryCrc ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntrySize ...
> > JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntryCSize
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntryMethod
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.getEntryBytes
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.freeEntry ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.Inflater.initIDs ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.Inflater.init ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.Inflater.inflateBytes
> > ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.ZipFile.read ... JNI]
> > [Dynamic-linking native method
> > java.util.zip.Inflater.reset ... JNI]
> > [Dynamic-linking native method
> > sun.reflect.NativeMethodAccessorImpl.invoke0
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.Class.isInstance ... JNI]
> > [Dynamic-linking native method
> > java.security.AccessController.doPrivileged
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DPipeline.nInit
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DPipeline.nGetAdapterCount
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.System.identityHashCode ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication.initIDs
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication._setClassLoader
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication._init
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication._runLoop
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication.staticScreen_getScreens
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DPipeline.nGetAdapterOrdinal
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DResourceFactory.nGetContext
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DContext.nSetBlendEnabled
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DContext.nSetDeviceParametersFor2D
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DResourceFactory.nGetMaximumTextureSize
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinTimer._getMinPeriod
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinTimer._getMaxPeriod
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication._submitForLaterInvocation
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinTimer._start
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.Throwable.getStackTraceDepth
> > ... JNI]
> > [Dynamic-linking native method
> > java.lang.Throwable.getStackTraceElement
> > ... JNI]
> > [Dynamic-linking native method
> > java.io.FileOutputStream.writeBytes
> > ... JNI]
> > Exception in Application start method
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinApplication._terminateLoop
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.glass.ui.win.WinTimer._stop
> > ... JNI]
> > [Dynamic-linking native method
> > com.sun.prism.d3d.D3DPipeline.nDispose
> > ... JNI]
> > java.lang.reflect.InvocationTargetException
> > 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:483)
> > at
> > com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
> >  at
> > com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
> > 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:483)
> > at
> > sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
> > Caused by: java.lang.RuntimeException:
> > Exception in Application start method
> > at
> > com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
> > at
> > com.sun.javafx.application.LauncherImpl.lambda$0(LauncherImpl.java:157)
> > at
> > com.sun.javafx.application.LauncherImpl$$Lambda$47/895947612.run(Unknown
> > Source)
> > at
> > java.lang.Thread.run(Thread.java:745)
> > Caused by:
> > java.lang.UnsatisfiedLinkError:
> > com.sun.glass.ui.win.WinApplication._getHighContrastTheme()Ljava/lang/String;
> > at
> > com.sun.glass.ui.win.WinApplication._getHighContrastTheme(Native
> > Method)
> > at
> > com.sun.glass.ui.win.WinApplication.getHighContrastTheme(WinApplication.java:261)
> > at
> > com.sun.javafx.tk.quantum.QuantumToolkit.getThemeName(QuantumToolkit.java:1512)
> > at
> > com.sun.javafx.application.PlatformImpl._setPlatformUserAgentStylesheet(PlatformImpl.java:689)
> >  at
> > com.sun.javafx.application.PlatformImpl.setPlatformUserAgentStylesheet(PlatformImpl.java:545)
> >  at
> > com.sun.javafx.application.PlatformImpl.setDefaultPlatformUserAgentStylesheet(PlatformImpl.java:509)
> >  at
> > javafx.scene.control.Control.<clinit>(Control.java:87)
> > at
> > net.ess.newTools.HtmlEditor.start(HtmlEditor.java:54)
> > at
> > com.sun.javafx.application.LauncherImpl.lambda$6(LauncherImpl.java:821)
> > at
> > com.sun.javafx.application.LauncherImpl$$Lambda$50/1113966589.run(Unknown
> > Source)
> > at
> > com.sun.javafx.application.PlatformImpl.lambda$6(PlatformImpl.java:326)
> > at
> > com.sun.javafx.application.PlatformImpl$$Lambda$43/2008362258.run(Unknown
> > Source)
> > at
> > com.sun.javafx.application.PlatformImpl.lambda$18(PlatformImpl.java:295)
> > at
> > com.sun.javafx.application.PlatformImpl$$Lambda$46/1820470793.run(Unknown
> > Source)
> > at
> > java.security.AccessController.doPrivileged(Native
> > Method)
> > at
> > com.sun.javafx.application.PlatformImpl.lambda$5(PlatformImpl.java:294)
> > at
> > com.sun.javafx.application.PlatformImpl$$Lambda$44/760563749.run(Unknown
> > Source)
> > at
> > com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
> > at
> > com.sun.glass.ui.win.WinApplication._runLoop(Native
> > Method)
> > at
> > com.sun.glass.ui.win.WinApplication.lambda$4(WinApplication.java:100)
> > at
> > com.sun.glass.ui.win.WinApplication$$Lambda$36/1622006612.run(Unknown
> > Source)
> > ... 1 more
> > Exception running application
> > net.ess.newTools.HtmlEditor
> > [Dynamic-linking native method
> > java.lang.Shutdown.halt0 ... JNI]
> > 
> > On the assumption that the VM is
> > failing to load some dll, I've tried
> > numerous means for letting eclipse
> > know the load library path, including
> > 
> > * passing "-Djava.library.path=" on
> > the VM's command-line using ,
> > pointing to the JDK's bin dir, and
> > the JavaFX2.1 install's bin dir
> > (where all dlls appear to live)
> > * setting the LD_LIBRARY_PATH
> > environment var to both of the above 
> > dirs
> > * adding both of the above dirs to PATH
> > * cloning all dlls to the directory
> > containing the
> > javafx.application.Application.class
> > file
> > 
> > to no avail, I seem to be shooting in
> > the dark (i.e. don't know enough what
> > I'm doing).
> > 
> > I'd appreciate any advice any of you
> > can provide to help me get unstuck.
> > 
> > Thanks,
> > 
> > -rjs
> > 
> > 
> > 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic