DB2 - Problem description
Problem IC84398 | Status: Closed |
RECEIVED "UNDEFINED SYMBOL: .__MAGIC4" WHILE RAN DJXLINKINFORMIX WITH INFORMIX CLIENT SDK 3.70 | |
product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problem description: | |
You may encounter following error when run djxlinkInformix with Informix client SDK 3.70 on AIX: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Begin processing for wrappers: INFORMIX INFORMIXDIR = /opt/IBM/informix IBM/Informix-Client SDK Version 3.70.FC4 Copyright (C) 1991-2011 IBM Currently installed version: 3.70.FC4 ld: 0711-224 WARNING: Duplicate symbol: __vft13eti_cplusplus9type_info ld: 0711-224 WARNING: Duplicate symbol: __vft24__DynaCastDesc_si_public14__DynaC astDesc ld: 0711-224 WARNING: Duplicate symbol: .is_xaopened ld: 0711-224 WARNING: Duplicate symbol: _system_configuration ld: 0711-224 WARNING: Duplicate symbol: .___fill64 ld: 0711-224 WARNING: Duplicate symbol: ___fill64 ld: 0711-224 WARNING: Duplicate symbol: .___bzero64 ld: 0711-224 WARNING: Duplicate symbol: ___bzero64 ld: 0711-224 WARNING: Duplicate symbol: .fmod ld: 0711-344 See the loadmap file libdb2informixF.map for more information. ld: 0711-317 ERROR: Undefined symbol: .__magic4 An error occurred building library "libdb2informixF.a". End processing for wrappers: INFORMIX The error happened because of the issue described in Informix APAR IC75676. The issue was firstly introduced into Informix Client SDK 3.70.xC1. Informix firstly fixed it on 3.70.xC3 and all references to __magic4 were removed, but they rolled back original fix at 3.70.xC4 thinking about a different approach for the fix: make sure libxlopt that contains the symbol "__magic4" was linked explicitly to the CSDK dynamic libraries so that the backward compatibility problem described by IC75676 was solved. However, for static libraries (as the scenario in script djxlinkInformix) which are simply archives of object files, this isn't possible so the error happened. The error should happen with Informix Client SDK 3.70.xC1, 3.70.xC2, 3.70.xC4 and all later versions. The error should only happen on an AIX platform. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * The user is going to configure informix wrapper. * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Server V10.1 FP1. * **************************************************************** | |
Local Fix: | |
To work around the problem, you can select one of below options: Option 1: Install and use Informix Client SDK 3.70.xC3 instead. Option 2: 1). Check if libxlopt.a exist on your system(usually in path of /usr/vac/lib). If not, you have to install the redistributable fileset vac.aix53.lib to your AIX( http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic /com.ibm.xlc111.aix.doc/compiler_ref/ruliblnk.html). You can download AIX package xlcpp.util that contains the fileset from following links: http://www-01.ibm.com/support/docview.wss?uid=swg24019828 http://www-01.ibm.com/support/docview.wss?uid=swg24026636 2). Add "-L/usr/vac/lib -lxlopt" to djxlinkInformix script: ......... -K -lc_r -lC_r -lm -ldl -ltli -lpthread \ -L$INFORMIXDIR/lib \ -L/usr/vac/lib -lxlopt \ <<< add this line -L$INFORMIXDIR/lib/esql \ -lthasf -lthgen -lifgls -lifglx -lthos -lthsql -lthxa \ $INFORMIXDIR/lib/netstub.a \ $INFORMIXDIR/lib/esql/checkapi.o \ ......... | |
available fix packs: | |
DB2 Version 10.1 Fix Pack 1 for Linux, UNIX, and Windows | |
Solution | |
Firstly fixed in DB2 Server V10.1 FP1. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 14.06.2012 01.11.2012 01.11.2012 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.1.0.1 | |
10.5.0.1 |