linking problems with libaio
Date: 17 Oct 2002 02:18:58 -0700
Message-ID: <ffa27151.0210170118.6e326b51_at_posting.google.com>
hi Everyone!!!
I am in the midst of porting a C app to 64 bit on Solaris8. The application uses the 64 bit Oracle 8.1.7.
I am just pasting the line passed to the linker. We are compiling in 64 bit mode on solaris 8
-o /data/data01/mp/develop/irislgic/mp/bin/SunOS/ORACLE8/da
obj/SunOS/da_main.o -lda -lcui -lstd -lm -lsocket -lnsl `cat /dba/u01/app/oracle/product/8.1.7.3.0-64/lib64/ldflags` `cat /dba/u01/app/oracle/product/8.1.7.3.0-64/lib64/sysliblist` -laio-lda
-lclntst8 -lm
Undefined first referenced symbol in file aio_suspend
/dba/u01/app/oracle/product/8.1.7.3.0-
64/lib64/libclntst8.a(skgfr.o)
aio_return64/lib64/libclntst8.a(skgfr.o)
/dba/u01/app/oracle/product/8.1.7.3.0-
aio_error64/lib64/libclntst8.a(skgfr.o)
/dba/u01/app/oracle/product/8.1.7.3.0-
lio_listio
/dba/u01/app/oracle/product/8.1.7.3.0-
64/lib64/libclntst8.a(skgfr.o)
ld: fatal: Symbol referencing errors. No output written to /data/
data01/mp/develop/irislgic/mp/bin/SunOS/ORACLE8/da
*** Error code 1
make: Fatal error: Command failed for target *** Error code 1
make: Fatal error: Command failed for target `Oracle8'
An nm on the libaio in /usr/lib/sparcv9/libaio.so confirms that the
the symbols are indeed defined in libaio. So ideally the linker should
be able to resolve these symbols.
Linking additionally with boht librt and libaio solves the problem but
librt implements the POSIX specifications for Asynchronous I/O where
as libaio is the SUNW sun's own specification.
So the question is
1.Whether Oracle 8i (64 bit)indeed needs linking with both librt and
libaio. (the 32 bit version of Oracle 8i is linking fine just with
libaio)
2. If not, whats missing??
Thanks a ton in advance for all the replies...
rgds
alok
Received on Thu Oct 17 2002 - 11:18:58 CEST