Problem accessing jfx native libs under eclipse on windows

Vadim Pakhnushev vadim.pakhnushev at oracle.com
Wed Oct 29 18:51:58 UTC 2014


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 at oracle.com <mailto:vadim.pakhnushev at 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 at gmail.com
>         <mailto:swpalmer at 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 at ensemblesoft.net
>                 <mailto:rsteiger at 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
>
>
>



More information about the openjfx-dev mailing list