All,

I getting a runtime error with a set of applications.
exec(): 0509-036 Cannot load program avat5 because of the following errors:
0509-130 Symbol resolution failed for /software/CSI/lib/libcsi_hlserver.a(shr.o) because:
0509-136 Symbol CSI_svrinit (number 66) is not exported from
dependent module avat5.
0509-136 Symbol CSI_svrdone (number 67) is not exported from
dependent module avat5.
0509-192 Examine .loader section symbols with the
'dump -Tv' command.


I have built the program using the following makefile :-
Code:
CC=cc
HOME=/home/viesgw
CSIHOME=/software/CSI
LIBPATH=$(CSIHOME)/lib
INGRES_LIB=/software/ingres/II/ingres/lib
CSI_INC_FLAG=/software/CSI/include
CSI_DEV_INC_FLAG=${HOME}/cope2/servers

CSI_LIB_FLAGS= -L$(LIBPATH) -lm  -lcsi_hlserver \
              -lcsi_report

INGRES_LIB_FLAGS=-L$(INGRES_LIB) libingres.a
USUAL_LIB_FLAGS= -lpthread -lm -lnsl -lc
FLAGS=$(CSI_LIB_FLAGS) $(INGRES_LIB_FLAGS) $(USUAL_LIB_FLAGS)

avat5: avat5.o
        $(CC) -o avat5 avat5.o -D_64BITS $(FLAGS)

avat5.o: avat5.c
        cc -c -D_64BITS -I${CSI_INC_FLAG} -I${CSI_DEV_INC_FLAG} avat5.c

avat5.c: avat5.sc
        esqlc avat5.sc
The are several library and header files required at link time and runtime :-

library
libcsi_hlclient.a
libcsi_report.a

header file
csi_hl.h

Then it specifies that only libcsi_report.a is required at runtime

the LIBPATH is set to /software/CSI/lib

The csi_hl.h lives in
/software/CSI/include

THe CSI_svrinit function that is giving the error lives in
/software/CSI/include/sys


Can anyone see a problem with the make file and the is the use of the -I causing issues ?

Any help gratefully received.

Also meant to say the same code is working against an earlier implementation of the stack on AIX 4.3.