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