Originally posted by: T.Rex
On our machines, we have:
# ar tv /usr/lib/libiconv.a
rwxr-x--- 300/300 234348 Mar 6 00:01 2019 shr4.o
rwxr-x--- 300/300 234598 Mar 6 00:01 2019 shr.o
# ar -X64 tv /usr/lib/libiconv.a
rwxr-x--- 300/300 310264 Mar 6 00:01 2019 shr4_64.o
# ar tv /opt/freeware/lib/libiconv.a
rwxr-xr-x 204/1 1261013 Dec 11 12:56 2019 libiconv.so.2
rwxr-x--- 0/0 234348 Dec 11 14:55 2019 shr4.o
rwxr-x--- 0/0 234598 Dec 11 14:55 2019 shr.o
# ar -X64 tv /opt/freeware/lib/libiconv.a
rwxr-x--- 0/0 310264 Dec 11 14:55 2019 shr4_64.o
rwxr-xr-x 204/1 1305206 Dec 11 12:56 2019 libiconv.so.2
So that, with LIBPATH starting with /opt/freeware, programs needing AIX libiconv stuff can find it inside the /opt/freeware/lib/libiconv.a archive.
You could do the symmetric: add /opt/freeware libiconv.a stuff to /usr/lib/libiconv.a so that all programs will be happy.
That means:
# ar xv /opt/freeware/lib/libiconv.a
x - libiconv.so.2
x - shr4.o
x - shr.o
# ar -q /usr/lib/libiconv.a libiconv.so.2
# ar -X64 xv /opt/freeware/lib/libiconv.a
x - shr4_64.o
x - libiconv.so.2
# ar -X64 -q /usr/lib/libiconv.a libiconv.so.2
In this order.