On the machine gcc119.fsffrance.org (AIX 7.3.1), with gcc
(CC="/opt/freeware/bin/gcc -maix64"), there is a compilation error:

  CC       lib/libcoreutils_a-md5-stream.o
In file included from /usr/include/openssl/opensslv.h:125,
                 from ../lib/md5.h:36,
                 from ../lib/md5-stream.c:28:
/usr/include/openssl/macros.h:155:4: error: #error "The requested API level 
higher than the configured API compatibility level"
  155 | #  error "The requested API level higher than the configured API 
compatibility level"
      |    ^~~~~
make: 1254-004 The error code from the last command is 1.


There is a workaround against this error in Gnulib, added through
<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00179.html>.

But it does not have the desired effect in coreutils, because
the default in gnulib is
  --with-openssl=no
whereas the default in coreutils is
  --with-openssl=auto-gpl-compat

I think the solution will be to stop setting
  define OPENSSL_API_COMPAT 0x10101000L
and instead use the OpenSSL 3.x API if an OpenSSL 3.x library is found.
IIRC, this implies extending gnulib/lib/gl_openssl.h, to use the newer
OpenSSL API. [1]

Bruno

[1] 
https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-encryption-functions




Reply via email to