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