Need help compiling 8.1.7 OCI program on AIX 4.3
Hello,
I am getting error messages from ld when compiling an OCI C program on AIX 4.3 with Oracle 8.1.7. If anyone can give me any suggestions in resolving these errors I would be most grateful. I'm hoping it's a straightforward issue for a regular C programmer. The intent is to compile the libraries statically in the final executable which will run on a server without ORACLE installation.
Following are the commands being executed in order in ksh shell. Lastly, I'm including a makefile provided by the vendor:
$ export ORACCENV="multelim=true,prebind=false,verbose=0,cc=xlc,oraccdbg=false"
$ make -f semotus.mk build_static EXE=hip_feedback_final
/u01/app/oracle/product/8.1.7/bin/echodo /u01/app/oracle/product/8.1.7/b
in/oraxlc -L/u01/app/oracle/product/8.1.7/lib/ -L/u01/app/oracle/product/8.1.7/
rdbms/lib -o hip_feedback_final.exe hip_feedback_final.o /u01/app/oracle/product
/8.1.7/rdbms/lib/ssdbaed.o /u01/app/oracle/product/8.1.7/rdbms/lib/kpudfo.o /u0
1/app/oracle/product/8.1.7/rdbms/lib/kpuadef.o `cat /u01/app/oracle/product/8.1
.7/lib/ldflags` -lnsgr8 -lnzjs8 -ln8 -lnl8 -lnro8 `cat /u01/app/oracle/produ
ct/8.1.7/lib/ldflags` -lnsgr8 -lnzjs8 -ln8 -lnl8 -lclient8 -lvsn8 -lwtc8 -
lcommon8 -lgeneric8 -lwtc8 -lmm -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 `cat /u0
1/app/oracle/product/8.1.7/lib/ldflags` -lnsgr8 -lnzjs8 -ln8 -lnl8 -lnro8 `c
at /u01/app/oracle/product/8.1.7/lib/ldflags` -lnsgr8 -lnzjs8 -ln8 -lnl8 -lc
lient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -ltrace8 -lnls8 -lcore8 -lnls8 -lc
ore8 -lnls8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -lnls8 -lcore8 -l
nls8 -lcore8 -lnls8 -lld -lm `cat /u01/app/oracle/product/8.1.7/lib/sysliblis
t` -lm -lpthreads
/u01/app/oracle/product/8.1.7/bin/oraxlc -L/u01/app/oracle/product/8.1.7/lib/ -L
/u01/app/oracle/product/8.1.7/rdbms/lib -o hip_feedback_final.exe hip_feedback_f
inal.o /u01/app/oracle/product/8.1.7/rdbms/lib/ssdbaed.o /u01/app/oracle/product
/8.1.7/rdbms/lib/kpudfo.o /u01/app/oracle/product/8.1.7/rdbms/lib/kpuadef.o -lnb
eq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncrypt8 -ln8 -lncrypt8
-lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lnent8 -lntcp8 -lntns8 -lnsgr8 -lnzjs8 -ln8
-lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncryp
t8 -ln8 -lncrypt8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lnent8 -lntcp8 -lntns8 -l
nsgr8 -lnzjs8 -ln8 -lnl8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -lwtc8 -lm
m -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapcl
nt8 -lnsslb8 -ln8 -lncrypt8 -ln8 -lncrypt8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -
lnent8 -lntcp8 -lntns8 -lnsgr8 -lnzjs8 -ln8 -lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8
-lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncrypt8 -ln8 -lncrypt8 -lnoname8 -lntcp8 -
lntcps8 -lnsslb8 -lnent8 -lntcp8 -lntns8 -lnsgr8 -lnzjs8 -ln8 -lnl8 -lclient8 -l
vsn8 -lwtc8 -lcommon8 -lgeneric8 -ltrace8 -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 -
lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -lnls8 -lcore8 -lnls8 -lcore8 -lnls8
-lld -lm /lib/crt0_r.o -ldl -lc -lpthreads -lodm -lm -lbsd_r -lld -lm -lpthread
s
ld: 0711-317 ERROR: Undefined symbol: .pw_wait
ld: 0711-317 ERROR: Undefined symbol: .pw_post
ld: 0711-317 ERROR: Undefined symbol: .pw_config
ld: 0711-317 ERROR: Undefined symbol: .aix_ora_pw_version3_required
ld: 0711-317 ERROR: Undefined symbol: ksmsgl_
ld: 0711-317 ERROR: Undefined symbol: kcbkclx_
ld: 0711-317 ERROR: Undefined symbol: naecta
ld: 0711-317 ERROR: Undefined symbol: naeeta
ld: 0711-317 ERROR: Undefined symbol: nautabnum
ld: 0711-317 ERROR: Undefined symbol: nautab
ld: 0711-317 ERROR: Undefined symbol: naectc
ld: 0711-317 ERROR: Undefined symbol: naeetc
ld: 0711-317 ERROR: Undefined symbol: naeetn
ld: 0711-317 ERROR: Undefined symbol: naeeti
ld: 0711-317 ERROR: Undefined symbol: naectn
ld: 0711-317 ERROR: Undefined symbol: naecti
ld: 0711-317 ERROR: Undefined symbol: naeetau
ld: 0711-317 ERROR: Undefined symbol: naeetnu
ld: 0711-317 ERROR: Undefined symbol: naeetcu
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.
Stop.
========= Makefile content: ============
# Building command:
#
# 1. A single program with static libraries:
#
# make -f semotus.mk build_static EXE=hip_feedback_final
#
# 2. A single program with dynamic libraries:
#
# make -f semotus.mk build EXE=hip_feedback_final
#
#
# NOTE: 1. ORACLE_HOME must be either:
# . set in the user's environment
# . passed in on the command line
# . defined in a modified version of this makefile
#
# 2. If the target platform support shared libraries (e.g. Solaris)
# look in the platform specific documentation for information
# about environment variables that need to be properly
# defined (e.g. LD_LIBRARY_PATH in Solaris).
#
include $(ORACLE_HOME)/rdbms/lib/env_rdbms.mk
RDBMSLIB=$(ORACLE_HOME)/rdbms/lib/
LDFLAGS=-L$(LIBHOME) -L$(ORACLE_HOME)/rdbms/lib
LLIBPSO=`cat $(ORACLE_HOME)/rdbms/lib/psoliblist`
# directory that contain oratypes.h and other oci demo program header files
INCLUDE= -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HO
ME)/plsql/public -I$(ORACLE_HOME)/network/public -I.
#
CONFIG = $(ORACLE_HOME)/rdbms/lib/config.o
# module to be used for linking with non-deferred option
# flag for linking with non-deferred option (default is deferred mode)
NONDEFER=false
# libraries for linking oci programs
OCISHAREDLIBS=$(TTLIBS) $(DEF_ON) $(LLIBTHREAD)
OCISTATICLIBS=$(STATICTTLIBS) $(LLIBTHREAD)
PSOLIBLIST=$(ORACLE_HOME)/rdbms/lib/psoliblist
CLEANPSO=rm -f $(PSOLIBLIST); $(GENPSOLIB)
DOLIB=$(ORACLE_HOME)/lib/liborcaccel.a
DUMSDOLIB=$(ORACLE_HOME)/lib/liborcaccel_stub.a
REALSDOLIB=/usr/lpp/orcaccel/liborcaccel.a
LLIBSQL= -lsql
PROLDLIBS= $(LLIBSQL) $(TTLIBS)
OBJECTS=hip_feedback_final.o
OBJ1=hip_feedback_final.o
hip_feedback_final: $(OBJ1)
$(OBJ1): hip_feedback_final.c
build: $(LIBCLNTSH) $(OBJECTS)
$(ECHODO) $(CC) $(LDFLAGS) -o hip_feedback_final.exe $(OBJ1) $(OCISHARED
LIBS)
build_static: $(OBJECTS)
$(ECHODO) $(CC) $(LDFLAGS) -o hip_feedback_final.exe $(OBJ1) $(SSDBED) $
(DEF_ON) \
$(OCISTATICLIBS)
clean:
$(RM) -f *.o *.so hip_feedback_final.exe