DSO reference error with binutils 2.14
Vijayaraghavan R
vijayaraghavan.ragunathan@oracle.com
Fri May 14 19:50:00 GMT 2004
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
Regards
Vijay
H. J. Lu wrote:
>You can't use ld --shared to create shared library. You should use
>"gcc --shared" instead. In your case, your DSO needs -lgcc when it
>is built.
>
>
>H.J.
>On Fri, May 14, 2004 at 08:53:57PM +0530, Vijayaraghavan Ragunathan wrote:
>
>
>>Hi,
>>
>>Thanks for the reply.
>>This is an error that I received when linking oracle software on RHAS
>>3.0 . But I can reproduce the problem with a simple c program wherein I
>>use ld to generate a shared library. I notice that a similar problem was
>>reported earlier and HJ had given sone code fix. But I want a fix which
>>will go into ld or its libraries so that I can build oracle executables.
>>
>>Thanks
>>Vijay
>>
>>H. J. Lu wrote:
>>
>>
>>
>>>On Fri, May 14, 2004 at 06:46:22PM +0530, Vijayaraghavan R wrote:
>>>
>>>
>>>
>>>
>>>>Hi,
>>>>
>>>>While trying to build some shared library and executable , I get the
>>>>following error with ld:
>>>> 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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>A testcase?
>>>
>>>
>>>H.J.
>>>
>>>
>>>
>>>
More information about the Binutils
mailing list