IBM Support

64-bit applications fail to link against libssl.a or libcrypto.a

Troubleshooting


Problem

A 64-bit application may fail to link against libssl.a or libcrypto.a.

Symptom

You may see one of the following errors.

ld: 0711-738 ERROR: Input file /usr/lib/libcrypto.so:
XCOFF32 object files are not allowed in 64-bit mode.

ld: 0711-738 ERROR: Input file /usr/lib/libssl.so:
XCOFF32 object files are not allowed in 64-bit mode.

Cause

Some versions of OpenSSL on AIX are incorrectly packaged to extract the 32-bit libcrypto.so and libssl.so shared object files from the libcrypto.a and libssl.a archive files.  The AIX linker may try to use these .so files instead of the .a files.  Since the .so files are only 32-bit, linking them with a 64-bit application will fail.

Resolving The Problem

If you have installed version of OpenSSL earlier than OpenSSL 1.0.2.1500 and find either libcrypto.so or libssl.so in the /usr/lib directory, both files may be removed.   Neither of these files are used directly by any AIX program. 

OpenSSL 1.0.2.1500 and later do not have this packaging error, but they do not remove these .so files if left behind by a previous version. They must be removed manually.

You may download the latest version of OpenSSL here:  https://www-01.ibm.com/marketing/iwm/iwm/web/download.do?source=aixbp&pageType=urx&S_PKG=openssl&lang=en_US&dlmethod=http

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG10","label":"AIX"},"Component":"OpenSSL","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
12 September 2021

UID

ibm10720095