- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - Linux
- >
- ld: Mismatched ABI (not an ELF file) for -lcli
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-05-2007 08:05 AM
тАО06-05-2007 08:05 AM
Can someone help? I've also attached the makefile information (see below - Makefile.autocorr.ora8)
--------------------------------------------
error display
--------------------------------------------
Pro*C/C++: Release 10.2.0.3.0 - Production on Tue Jun 5 15:54:04 2007
(taxsun05:rgreen):ca10:> make -f Makefile.autocorr.ora8 autocorr
if [ "" = "shared" ]; then \
/u21/oracle/product/102030_64/bin/echodo cc +DA2.0W +DS2.0 -DSS_64BIT_SERVER -I. -I/u21/oracle/product/102030_64/precomp/public -I\
else \
/u21/oracle/product/102030_64/bin/echodo cc +DA2.0W +DS2.0 -DSS_64BIT_SERVER -I. -I/u21/oracle/product/102030_64/precomp/public -I\
fi
cc +DA2.0W +DS2.0 -DSS_64BIT_SERVER -I. -I/u21/oracle/product/102030_64/precomp/public -I/u21/oracle/product/102030_64/rdbms/public -I/u21/ord
ld: Mismatched ABI (not an ELF file) for -lcli
Fatal error.
*** Error exit code 1
--------------------------------------------
Makefile.autocorr.ora8
--------------------------------------------
.SUFFIXES : .pc .o .c .h
#(DPM) SHELL=/usr/bin/ksh
include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
# Uncomment line below for AIX
# Added "-Ae" for HP 03.01.1999, S. Bottle
#MYCFLAGS = -Ae -O -DCACS_ORA -g -DDEBUG
MYCFLAGS = -Ae -O -DCACS_ORA
# Uncomment line below for SUN
#KSSUN MYCFLAGS = -DCACS_ORA -DCACS_SUN -D__EXTENSIONS__ #-g -DDEBUG
PROC_INCLUDE= INCLUDE=$(PRECOMPHOME)public INCLUDE=$(RDBMSHOME)public INCLUDE=$(RDBMSHOME)demo INCLUDE=$(PLSQLHOME)public INCLUDE=$(NETWORKHOME)public
MYPROCFLAGS= DEFINE=CACS_ORA SQLCHECK=SEMANTICS MODE=ANSI LINES=YES CHAR_MAP=VARCHAR2 DBMS=V8 USERID=${CACS_USER}/${CACS_PASSWD} $(PROC_INCLUDE)
#
#
# Makefile for Auto Correspondence (used in CACSPlus)
#
#
MATHLIBS = -lm
DRMLIB = -L./ -lcli
INCLUDE_DIR=./
DEVTTLIBS=$(TTLIBS)
CLIBS=$(TTLIBS_QA) $(LDBLIBS)
LDSTRING=
PRODUCT_LIBHOME=
NETWORKHOME=$(ORACLE_HOME)/network/
PLSQLHOME=$(ORACLE_HOME)/plsql/
I_SYM=-I
INCLUDE=$(I_SYM). $(I_SYM)$(PRECOMPHOME)public $(I_SYM)$(RDBMSHOME)public $(I_SYM)$(RDBMSHOME)demo $(I_SYM)$(PLSQLHOME)public $(I_SYM)$(NETWORKHOME)public
#
# Application specific definitions
#
OBJECTS = autocorr.o gendoc.o getdoc.o getaddr.o logmsg.o utils_corr.o dbio.o runtime.o docinfo.o drm.o guidrm.o savedoc.o crehist.o pandi.o log_err.o
.pc.o :
$(PROC) $(MYPROCFLAGS) $(PROCFLAGS) iname=$*
$(CC) $(MYCFLAGS) $(CFLAGS) -c $*.c || rm -f $*.c
-rm -f $*.c
.c.o :
$(CC) $(MYCFLAGS) $(CFLAGS) -c $*.c
autocorr: $(OBJECTS)
# Uncomment lines below for AIX
if [ "$(ORA_CLIENT_LIB)" = "shared" ]; then \
$(ECHODO) $(CC) $(CFLAGS) $(MYCFLAGS) -o autocorr $(OBJECTS) $(MATHLIBS) $(DRMLIB) -L$(LIBHOME) $(LIBCLNTSH); \
else \
$(ECHODO) $(CC) $(CFLAGS) $(MYCFLAGS) -o autocorr $(OBJECTS) $(MATHLIBS) $(DRMLIB) -L$(LIBHOME) $(LIBMM) $(NAEDHS) $(NAETAB) $(SYSLIBS) $(PROLDLIBS); \
fi
# Uncomment lines below for KSSUN
# if [ "$(ORA_CLIENT_LIB)" = "shared" ]; then \
# $(ECHODO) $(CC) $(CFLAGS) -o autocorr $(OBJECTS) $(MATHLIBS) $(DRMLIB) -L$(LIBHOME) $(LIBCLNTSH); \
# else \
# $(ECHODO) $(CC) $(CFLAGS) -o autocorr $(OBJECTS) $(MATHLIBS) $(DRMLIB) -L$(LIBHOME) $(LIBMM) $(NAEDHS) $(NAETAB) $(SYSLIBS) $(PROLDLIBS); \
# fi
autocorr.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
getdoc.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
docinfo.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
guidrm.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
savedoc.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
crehist.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
gendoc.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
runtime.o : $(INCLUDE_DIR)/autocorr.h
dbio.o : $(INCLUDE_DIR)/autocorr.h $(INCLUDE_DIR)/lerrno.h
clean :
rm -f *.o
rm -f crehist.c dbio.c docinfo.c getdoc.c guidrm.c savedoc.c tst.c log_err.c
cleanall : clean
rm -f autocorr
Solved! Go to Solution.
- Tags:
- ABI mismatch
- ProC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-05-2007 08:09 AM
тАО06-05-2007 08:09 AM
Re: ld: Mismatched ABI (not an ELF file) for -lcli
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-05-2007 09:21 AM
тАО06-05-2007 09:21 AM
SolutionThe objects and shared libraries must either be all 32-bit or all 64-bit. The linker ('ld') chooses the first object specified on its command line and expects the remaining objects to be the same "bitness". If they are not, the error you see is reported.
Regards!
...JRF...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-05-2007 03:55 PM
тАО06-05-2007 03:55 PM
Re: ld: Mismatched ABI (not an ELF file) for -lcli
This is where -lcli comes from:
DRMLIB = -L./ -lcli
Do you have libcli.* in the current directory?
Is it 64 bit as JRF says? If the 64 bit version is in another directory, you'll need to change the -L path in DRMLIB.
>Sandman: better to replace it with "+DD64".
That's a very good idea but not likely to help. You need it when you port to IPF.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-07-2007 02:43 AM
тАО06-07-2007 02:43 AM
Re: ld: Mismatched ABI (not an ELF file) for -lcli
It appears that my problem was with the libcli being compiled as 32 bit. I added the +DA2.0W +DS2.0 -DSS_64BIT_SERVER to the compile options. It took care of the problem. I'm not sure why this is compiled seperately from the main application though.
Thanks again :)
#UTAX need CFLAGS set to compile in ANSI extened mode
CFLAGS=-Ae +DA2.0W +DS2.0 -DSS_64BIT_SERVER
libcli.a : libcli.a(sock.o) libcli.a(utils_lib.o)
@echo libcli.a is now up to date.
clean :
rm -f libcli.a