RFR: 8300111: Add rpath for common lib locations for jpackageapplauncher
Alexander Matveev
almatvee at openjdk.org
Fri Jan 13 11:19:20 UTC 2023
On Tue, 10 Jan 2023 09:57:19 GMT, David <duke at openjdk.org> wrote:
> This patch adds the `-headerpad_max_install_names` linker argument to the build of the `jpackageapplauncher` binary (osx only)
>
> Adding this argument allows the user to use the `install_name_tool` to add search paths for the dynamic linker to the launcher binary. This is required for certain use cases where a native library loads other dynamic native libraries via `dlopen`.
>
> The change has been successfully tested on osx on aarch64:
>
> make jdk.jpackage
> install_name_tool -add_rpath @executable_path/../Frameworks/ jpackageapplauncher
> otool -l jpackageapplauncher
>
> Load command 19
> cmd LC_RPATH
> cmdsize 48
> path @executable_path/../Frameworks/ (offset 12)
What additional paths except "@executable_path/../Frameworks/" your application requires? If you just need @executable_path/../Frameworks/, then I think we should just add this to rpath permanently, instead of using -headerpad_max_install_names and install_name_tool. "Frameworks" and "PlugIns" are two standard folders to keep additional dynamic libraries, so I think we need to add both of them and do not use -headerpad_max_install_names.
Looks good. You will need to file a JBS issue for this.
-------------
PR: https://git.openjdk.org/jdk/pull/11922
More information about the build-dev
mailing list