This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: DSO reference error with binutils 2.14
H. J. Lu wrote:
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.
I could find 2 libraries defining/referring this symbol and one of them
returned result for the above nm command. I would try and figure out on
how this shared object file was compiled so that we can change it.
Thanks for your help on this so far.
Regards
Vijay