jpackage OS/X JDK-8263157 fix regressed out

Alan Snyder javalists at cbfiddle.com
Thu Jul 22 18:42:53 UTC 2021


Why is a directory named “app” used for dynamic libraries instead of the conventional directory “Frameworks”?

  Alan



> On Jul 22, 2021, at 11:04 AM, Michael Hall <mik3hall at gmail.com> wrote:
> 
> 
> 
>> On Jul 22, 2021, at 12:29 PM, Alexey Semenyuk <alexey.semenyuk at oracle.com> wrote:
>> 
>> The fix for JDK-8263157 cleared the default value of `java.library.path` system property and resulted in JDK-8267598 regression. So the fix for JDK-8263157 was reworked: jpackage doesn't set `java.library.path` system property, but it adds `app` directory to `DYLD_LIBRARY_PATH` env variable on OSX. OSX JVM startup code builds the value of `java.library.path` system property from the value of `DYLD_LIBRARY_PATH` env variable. This way jpackage doesn't interfere with the default JVM initialization code and also adds `app`  directory to `java.library.path` system property.
>> As far as I can see it from the log, the value of `java.library.path` contains `app` dir - `/Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/app`. So it works as expected.
>> Are you sure the native library is in place?
>> 
>> - Alexey
>> 
> 
> I missed that it was there somehow, but…
> 
> ls outputdir/HalfPipe.app/Contents/app | grep dylib
> libAppleScriptEngine.dylib
> libBSF4ooRexx.dylib
> libfscript.dylib
> libhp.dylib
> libmacattrs.dylib
> 
> Also overriding 
> -Djava.library.path=$APPDIR
> worked. So I didn’t look too closely. 
> So what am I still missing?
> ;/Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/app:/Users/mjh/Library/Java/Extensions:
> Inconsistent path separators?



More information about the core-libs-dev mailing list