CA Gen 8.5 mkdbs.bat Oracle 11 database dll relink fails with "unresolved external symbol align_malloc"
search cancel

CA Gen 8.5 mkdbs.bat Oracle 11 database dll relink fails with "unresolved external symbol align_malloc"

book

Article ID: 136882

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

Running CA Gen 8.5 mkdbs.bat for Oracle 11 fails at final link step relinking the database dll with this error:

===

MKDBS: Compiling the database dll modules

tiroconn.c

tirora.c

tirora.c(305) : warning C4273: 'getenv' : inconsistent dll linkage

        c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdlib.h(433) : see previous definition of 'getenv'


MKDBS: Relinking the database dll

C:\app\product\11.2.0\client_1\precomp\lib\orasql11.lib" aecom85n.lib aeuexit85n.lib iefmbt85n.lib          >> aecdb.lnk

Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17336


Copyright (C) Microsoft Corporation.  All rights reserved.



aecora.def : error LNK2001: unresolved external symbol align_malloc

aecora85n.lib : fatal error LNK1120: 1 unresolved externals


MKDBS: Link of aecora85n.dll failed

===

Environment

Release : 8.5

Component : CA Gen Run Time, Distributed

Cause

To avoid having to set the LIB environment variable to include the Oracle directory containing the orasql11.lib file (C:\app\product\11.2.0\client_1\precomp\lib\) the user had changed a line in mkdbs.bat to be the full path to orasql11.lib but had inadvertently included a double quote (")  at the end of that full path string i.e.

this line:

if "%iefdbms%" == "oracle11" echo orasql11.lib aecom85n.lib aeuexit85n.lib iefmbt85n.lib          >> aecdb.lnk

was changed to:

if "%iefdbms%" == "oracle11" echo C:\app\Administrator\product\11.2.0\client_1\precomp\lib\orasql11.lib" aecom85n.lib aeuexit85n.lib iefmbt85n.lib          >> aecdb.lnk


Resolution

To resolve the problem remove the extra double quote (") from the end of the full path to orasql11.lib i.e.

if "%iefdbms%" == "oracle11" echo C:\app\Administrator\product\11.2.0\client_1\precomp\lib\orasql11.lib aecom85n.lib aeuexit85n.lib iefmbt85n.lib          >> aecdb.lnk

Alternatively do not modify mkdbs.bat and simply add C:\app\Administrator\product\11.2.0\client_1\precomp\lib\ to the LIB environment variable before running mkdbs.bat i.e.

set LIB=E:\app\Administrator\product\11.2.0\client_1\precomp\lib;%LIB%