[External] : Re: jpackage OS/X JDK-8263157 fix regressed out
Alexey Semenyuk
alexey.semenyuk at oracle.com
Thu Jul 22 18:51:47 UTC 2021
There is no corresponding folder on other platforms, so to simplify
packaging "app" directory is used on all platforms.
- Alexey
On 7/22/2021 2:42 PM, Alan Snyder wrote:
> 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