RFR: JDK-8319516 - Native library suffix impact on the library loading in AIX- Java Class Loader [v2]
Suchismith Roy
sroy at openjdk.org
Tue Mar 19 10:04:25 UTC 2024
On Tue, 19 Mar 2024 09:58:04 GMT, Suchismith Roy <sroy at openjdk.org> wrote:
>>> In AIX, we have an usecase where shared libraries have certain member objects to be referred to. E.g libclang.a(shr_64.o) .
>>
>> Would you happen to know any official documentation which explains that AIX syntax?
>>
>>> When we provide the path to loadLibrary()
>>
>> Do you mean some application code is calling the `System.loadLibrary()` method with such values?
>
>> > In AIX, we have an usecase where shared libraries have certain member objects to be referred to. E.g libclang.a(shr_64.o) .
>>
>> Would you happen to know any official documentation which explains that AIX syntax?
>>
>
> https://www.ibm.com/docs/en/aix/7.2?topic=l-ld-command
> Text :
>
> **autoload: path/file(member) | Automatically load the archive member.
> -- | --**
> Autoload is a flag used to load archive members. The format of the path is mentioned.
> Do you mean some application code is calling the `System.loadLibrary()` method with such values?
Yes we are trying to install liblcang and also jextract and it fails with errors.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no clang in java.library.path
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2439)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916)
at java.base/java.lang.System.loadLibrary(System.java:2063)
at [org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.RuntimeHelper.<clinit>(RuntimeHelper.java:65)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.RuntimeHelper.%3cclinit%3e(RuntimeHelper.java:65))
at [org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.constants$17.<clinit>(constants$17.java:46)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.constants$17.%3cclinit%3e(constants$17.java:46))
at [org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.Index_h.clang_getClangVersion$MH(Index_h.java:5690)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.Index_h.clang_getClangVersion$MH(Index_h.java:5690))
at [org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.Index_h.clang_getClangVersion(Index_h.java:5698)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.clang.libclang.Index_h.clang_getClangVersion(Index_h.java:5698))
at [org.openjdk.jextract at 22/org.openjdk.jextract.clang.LibClang.version(LibClang.java:93)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.clang.LibClang.version(LibClang.java:93))
at [org.openjdk.jextract at 22/org.openjdk.jextract.JextractTool.run(JextractTool.java:362)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.JextractTool.run(JextractTool.java:362))
at [org.openjdk.jextract at 22/org.openjdk.jextract.JextractTool.main(JextractTool.java:174)](mailto:org.openjdk.jextract at 22/org.openjdk.jextract.JextractTool.main(JextractTool.java:174))
The actual member is libclang.a(libclang.so.16)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17945#discussion_r1530059834
More information about the core-libs-dev
mailing list