DSO reference error with binutils 2.14
H. J. Lu
hjl@lucon.org
Fri May 14 21:11:00 GMT 2004
On Fri, May 14, 2004 at 10:26:53PM +0530, Vijayaraghavan R wrote:
> Hi,
>
> Although my C test was done with ld to get shared library, Oracle seems
> to be using gcc for the purpose. The output I notice on screen is:
>
> gcc -o /u02/oracle/product/10.1.0/oms/rdbms/lib/oracle
> -L/u02/oracle/product/10.1.0/oms/rdbms/lib/
> -L/u02/oracle/product/10.1.0/oms/lib/ -Wl,-E
> /u02/oracle/product/10.1.0/oms/rdbms/lib/opimai.o
> /u02/oracle/product/10.1.0/oms/rdbms/lib/ssoraed.o
> /u02/oracle/product/10.1.0/oms/rdbms/lib/ttcsoi.o
> /u02/oracle/product/10.1.0/oms/lib/nautab.o
> /u02/oracle/product/10.1.0/oms/lib/naeet.o
> /u02/oracle/product/10.1.0/oms/lib/naect.o
> /u02/oracle/product/10.1.0/oms/lib/naedhs.o
> /u02/oracle/product/10.1.0/oms/rdbms/lib/config.o -lserver9 -lodm9
> -lskgxp9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9
> /u02/oracle/product/10.1.0/oms/rdbms/lib/defopt.o -lknlopt -lslax9
> -lpls9 -lplp9 -lserver9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9
> -lgeneric9 -lknlopt -lslax9 -lpls9 -lplp9 `cat
> /u02/oracle/product/10.1.0/oms/rdbms/lib/nmliblist` -ljox9 -lserver9
> -lwwg9 `cat /u02/oracle/product/10.1.0/oms/lib/ldflags` -lnsslb9
> -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnnz9 -lnl9 -lnro9 `cat
> /u02/oracle/product/10.1.0/oms/lib/ldflags` -lnsslb9 -lncrypt9
> -lnsgr9 -lnzjs9 -ln9 -lnnz9 -lnl9 -lmm -lnls9 -lcore9 -lnls9 -lcore9
> -lnls9 -lxml9 -lcore9 -lunls9 `cat
> /u02/oracle/product/10.1.0/oms/lib/ldflags` -lnsslb9 -lncrypt9
> -lnsgr9 -lnzjs9 -ln9 -lnnz9 -lnl9 -lnro9 `cat
> /u02/oracle/product/10.1.0/oms/lib/ldflags` -lnsslb9 -lncrypt9
> -lnsgr9 -lnzjs9 -ln9 -lnnz9 -lnl9 -ltrace9 -lnls9 -lcore9 -lnls9
> -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 `if /usr/bin/ar tv
> /u02/oracle/product/10.1.0/oms/rdbms/lib/libknlopt.a | grep "kxmnsd.o" >
> /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo9"; fi` -lctxc9
> -lctx9 -lzx9 -lgx9 -lctx9 -lzx9 -lgx9 -lordimt9 -lnls9 -lcore9 -lnls9
> -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lsnls9 -lunls9 `cat
> /u02/oracle/product/10.1.0/oms/lib/sysliblist`
> -Wl,-rpath,/u02/oracle/product/10.1.0/oms/lib:/lib:/usr/lib -lm `cat
> /u02/oracle/product/10.1.0/oms/lib/sysliblist` -ldl -lm
> /usr/bin/ld: /u02/oracle/product/10.1.0/oms/rdbms/lib/oracle: hidden
> symbol `__fixunssfdi' in
> /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a(_fixunssfdi.oS) is
> referenced by DSO
> collect2: ld returned 1 exit status
>
You have a .so file which isn't built with "gcc -shared". Just do
# nm -u .so file | grep __fixunssfdi
to see which one it is.
H.J.
More information about the Binutils
mailing list