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 <swpal...@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 <rstei...@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