On Linux, when building a package from the predefined app image (--app-image) with the installation directory in the "/usr" subtree (--install-dir=/usr), the libapplauncher.so is placed at "/usr/lib/${PACKAGE_NAME}/libapplauncher.so" location instead of "/usr/lib/${PACKAGE_NAME}/lib/libapplauncher.so".
The issue was spotted in the output of the PostImageScriptTest.testWithInstallDir(EXTERNAL_APP_IMAGE; verifyAppImageContents) test:
---
Command [PID: <pid>]:
ldd /tmp/jdk.jpackage/image/usr/lib/withinstalldirpostimagescripttest/lib/libapplauncher.so
Output:
ldd: warning: you do not have execution permission for `/tmp/jdk.jpackage/image/usr/lib/withinstalldirpostimagescripttest/lib/libapplauncher.so'
linux-vdso.so.1 (0xHEX)
libdl.so.2 => /lib64/libdl.so.2 (0xHEX)
libpthread.so.0 => /lib64/libpthread.so.0 (0xHEX)
libm.so.6 => /lib64/libm.so.6 (0xHEX)
libc.so.6 => /lib64/libc.so.6 (0xHEX)
/lib64/ld-linux-x86-64.so.2 (0xHEX)
Returned: 0
---
The issue was spotted in the output of the PostImageScriptTest.testWithInstallDir(EXTERNAL_APP_IMAGE; verifyAppImageContents) test:
---
Command [PID: <pid>]:
ldd /tmp/jdk.jpackage/image/usr/lib/withinstalldirpostimagescripttest/lib/libapplauncher.so
Output:
ldd: warning: you do not have execution permission for `/tmp/jdk.jpackage/image/usr/lib/withinstalldirpostimagescripttest/lib/libapplauncher.so'
linux-vdso.so.1 (0xHEX)
libdl.so.2 => /lib64/libdl.so.2 (0xHEX)
libpthread.so.0 => /lib64/libpthread.so.0 (0xHEX)
libm.so.6 => /lib64/libm.so.6 (0xHEX)
libc.so.6 => /lib64/libc.so.6 (0xHEX)
/lib64/ld-linux-x86-64.so.2 (0xHEX)
Returned: 0
---
- relates to
-
JDK-8356219 jpackage places libapplauncher.so in incorrect location in the app image
-
- Resolved
-
- links to
-
Review(master)
openjdk/jdk/28163