I noticed a strange behavior on two of our systems: Both run DB2 9.7 WSE on SLES11 SP2. One system has the standard version of DB2 installed (9.7.0), the other one has Fixpack 6 installed (9.7.6).

After the fixpack was installed on the second machine, I noticed problems in different processes that use SSL libs in any way, however the error message is always the same: /usr/lib64/libssl.so.0.9.8: undefined symbol:

This includes e.g. a user defined function which loads fine on the system without fixpack but breaks on the other system:

2013-09-03- E1226355E710        LEVEL: Error (OS)
PID     : 13802                TID  : 140144623478528PROC : db2sysc
INSTANCE: db2inst1             NODE : 000          DB   : SESYS
APPHDL  : 0-34                 APPID: *LOCAL.db2inst1.130903070220
EDUID   : 18                   EDUNAME: db2agent (SESYS)
FUNCTION: DB2 UDB, oper system services, sqloLoadModule, probe:190
CALLED  : OS, -, dlopen                           OSERR: EINVAL (22)
DATA #1 : Library name or path, 35 bytes
DATA #2 : shared library load flags, PD_TYPE_LOAD_FLAGS, 4 bytes
DATA #3 : String, 58 bytes
/usr/lib64/libssl.so.0.9.8: undefined symbol: d2i_DHparams
The strange thing about this issue is that d2i_DHparams is present in libcrypto.so but not in libssl.so so for some reason the loader makes weird assumptions on where to find certain symbols.

Any idea what could be causing this effect?