On Fri, 8 Oct 2021 04:43:08 GMT, Cheng Jin
<[email protected]> wrote:
> So I am wondering what happened to the system lookup in such case given there
> should be no fundamental difference in leveraging `NativeLibraries` (I assume
> the library loading in OpenJDK16 & 17 is the same at this point) unless there
> is something else new in OpenJDK17 I am unaware of (e.g. the changes in
> `Lib.gmk` or `lib-std.m4`, or a custom system lookup is required on AIX,
> etc). Thanks.
In 17, SystemLookup loads a specific library that is generated at build time -
which contains all the c stdlib symbols. That's what the Lib.gmk changes are
for. What I suspect is that the library is not generated at all, or not
correctly on AIX, which then causes the system lookup to misbehave.
I would start by double checking that you have a file like this:
<JDK_ROOT>/lib/libsyslookup.so
And then, if the library exists, check that it has the right dependency; on my
linux it's an empty library, but which depends on libc, libm and libdl:
ldd lib/libsyslookup.so
linux-vdso.so.1 (0x00007fff2bdf7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f35f1def000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f35f1ca0000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f35f1c9a000)
-------------
PR: https://git.openjdk.java.net/jdk/pull/4316