JRELoadError
Peter J Slack
pslack at wavedna.com
Sat Jan 31 16:45:29 UTC 2015
The Mac version JRE 1.6 uses different symbols than 1.7 and 1.8 for the 2
key functions used by a launcher to load and run JVM
in order to remedy this I've searched both symbols in case one fails when
launching a JVM in my own launcher
Launchers have to load the library into memory and then wrap 2 key
functions. Apple names these functions differently
here's a code snippet in C illustrating how I've adapted setting up to
launch the JVM by loading in memory, if the Apple naming fails I revert to
openjdk naming
//first see if the apple naming is active
WRAPPED_JNI_CreateJavaVM my_JNI_CreateJavaVM = (WRAPPED_JNI_CreateJavaVM)
dlsym(handle,"JNI_CreateJavaVM_Impl");
//we need to try the possibility that this is not Apple JVM where they
mangle the names by appending _impl
if(my_JNI_CreateJavaVM == NULL){
//this is the case for openjdk 1.7 + where they use the
traditional symbols in jvm.dll
my_JNI_CreateJavaVM = (WRAPPED_JNI_CreateJavaVM)
dlsym(handle,"JNI_CreateJavaVM");
}
WRAPPED_JNI_GetCreatedJavaVMs my_JNI_GetCreatedJavaVMs =
(WRAPPED_JNI_GetCreatedJavaVMs)dlsym(handle,"JNI_GetCreatedJavaVMs_Impl");
if(my_JNI_GetCreatedJavaVMs == NULL){
my_JNI_GetCreatedJavaVMs =
(WRAPPED_JNI_GetCreatedJavaVMs)dlsym(handle,"JNI_GetCreatedJavaVMs");
}
On Fri, Jan 30, 2015 at 8:43 PM, Michael Hall <mik3hall at gmail.com> wrote:
> On Jan 30, 2015, at 4:00 PM, Emmanuel Puybaret <puybaret at eteks.com> wrote:
>
> > Hi,
> >
> > I developed a sandboxed version of Sweet Home 3D that comes with its own
> copy of JRE 7.
> > Miserably, a few users reported recently that they got a "JRELoadError"
> when they launch the application.
> > I tried to update from JRE 7u72 to JRE 7u76, tried to replace
> JavaAppLauncher by the launcher generated by javafxpackager, and also
> tried to replace the JRE 7 copy by a JRE 8 copy, but these users reported
> to me it didn't fix this issue.
> >
> > Would have any of you encounter this problem and/or have an idea how to
> fix it?
>
> A number of apps seem to have had the issue if you search on the subject
> error.
> This post….
>
>
> http://jedit.9.x6.nabble.com/jEdit-users-JRELoadError-launching-jEdit-5-2pre1-after-mavericks-upgrade-but-no-java-version-or-JAVAe-td5005300.html
>
> had a lot of mail list noise but ended up with some valid enough
> suggestions as to what the possible conflicts might be.
> Use of JAVA_HOME
> conflicting with the browser installed JRE version
> some sort of embedded symlink back to an apple JRE
> the possibilities that I remember.
> It suggested a work around of using a 3rd party package for running an app
> configuration that would work with both Apple and Oracle JRE’s.
> There might be some information of use to you in that one. There were a
> number of apps that appeared to have the issue.
>
> Michael Hall
>
> trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz
>
> HalfPipe Java 6/7 shell app
> http://www195.pair.com/mik3hall/index.html#halfpipe
>
> AppConverter convert Apple jvm to openjdk apps
> http://www195.pair.com/mik3hall/index.html#appconverter
>
>
>
>
>
--
Senior Software Developer / IT Administrator
Work: (416) 466-9283
Fax : (866) 855-2605
<http://www.wavedna.com/>
<https://www.facebook.com/waveDNA> <http://www.twitter.com/wavedna>
<http://www.youtube.com/wavedna> <http://www.soundcloud.com/wavedna>
<https://plus.google.com/+Wavedna/posts> <http://instagram.com/wavedna>
<http://www.linkedin.com/company/wavedna>
More information about the macosx-port-dev
mailing list