[PolyORB-users] DLL on x86_64

Martin Krischik krischik at users.sourceforge.net
Sat Jan 8 09:55:10 CET 2005


Hello,

I am unshure if it is a bug or "working as designed" so I report it at a 
bug ;-)

    POLYORB VERSION:

01.01.2005

    HOST MACHINE and OPERATING SYSTEM:

Linux linux2 2.6.8-24.10-default #1 Wed Dec 22 11:54:27 UTC 2004 x86_64 x86_64 
x86_64 GNU/Linux

    COMPILER VERSION

GNATLS 3.4.3 Copyright 1997-2004 Free Software Foundation, Inc.

Source Search Path:
   <Current_Directory>
   ./
   /work/ada/bc-20040319/
   /work/ada/charles/src/
   /opt/ada/include/xmlada/xmlada/
   /opt/ada/include/asis/
   /opt/ada/include/florist/
   /opt/ada/include/polyorb/
   /opt/ada/include/polyorb/corba/
   /opt/ada/include/polyorb/corba/cos/
   /opt/ada/include/polyorb/corba/messaging/
   /opt/ada/include/polyorb/corba/portableinterceptor/
   /opt/ada/include/polyorb/corba/rtcorba/
   /opt/ada/include/polyorb/dsa/
   /opt/ada/include/polyorb/moma/
   /opt/ada/include/polyorb/giop/
   /opt/ada/include/polyorb/giop/diop/
   /opt/ada/include/polyorb/giop/iiop/
   /opt/ada/include/polyorb/giop/miop/
   /opt/ada/include/polyorb/soap/
   /opt/ada/include/polyorb/web_common/
   /opt/ada/include/polyorb/srp/
   /opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adainclude/


Object Search Path:
   <Current_Directory>
   ./
   /opt/ada/include/bc/Linux-Object/
   /opt/ada/include/xmlada/
   /opt/ada/include/asis/
   /opt/ada/include/florist/
   /opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adalib/

autoconf (GNU Autoconf) 2.59
Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
automake (GNU automake) 1.9.1
Written by Tom Tromey <tromey at redhat.com>.

Copyright 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    DESCRIPTION:

When trying to link a shared library with parts of PolyORB included on x86_64 
CPU I get an error message reequesting the use of -fPIC:
------------------------------------------------------------------------------
/opt/ada/bin/gcc -shared 
-o /work/martin/Server/Linux-x86_64-Release/lib/liborb_server.so.1.0.0 
-L/opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adalib/ 
-L/work/martin/Shared/Linux-x86_64-Release/lib -lorb 
-L/opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adalib/ -lgnat-3.4 
-Wl,-rpath,/work/martin/Shared/Linux-x86_64-Release/lib:/opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adalib/ 
-Wl,-soname,liborb_server.so.1.0.0 /work/martin/Server/Linux-x86_64-Release/obj/orb-db_request-impl-c.o /work/martin/Server/Linux-x86_64-Release/obj/orb-server.o /work/martin/Server/Linux-x86_64-Release/obj/ada_dll.o /work/martin/Server/Linux-x86_64-Release/obj/b~ada_dll.o
gcc -shared 
-o /work/martin/Server/Linux-x86_64-Release/lib/liborb_server.so.1.0.0           
\
-Wl,-soname,/work/martin/Server/Linux-x86_64-Release/lib/liborb_server.so.1.0.0              
\
-L/work/martin/Shared/Linux-x86_64-Release/lib 
-Wl,-rpath,/work/martin/Shared/Linux-x86_64-Release/lib:/opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adalib 
-lorb                              \
-L/opt/ada/lib/gcc/x86_64-unknown-linux-gnu/3.4.3/adalib -lgnarl -lgnat                                
\
-lpthread                                                                                                               
\
/work/martin/Server/Linux-x86_64-Release/obj/*.o                                                   
\
        /work/act.x86_64-unknown-linux-gnu/polyorb/src/polyorb-utils-text_buffers.o             
\
        /work/act.x86_64-unknown-linux-gnu/polyorb/src/polyorb-utils-strings.o                  
\
        /work/act.x86_64-unknown-linux-gnu/polyorb/src/corba/corba-serverrequest.o              
\
        /opt/ada/lib/*.a                                                                                                   
\
        /work/martin/Shared/Linux-x86_64-Release/lib/liborb.a
/usr/bin/ld: /opt/ada/lib/libpolyorb.a(polyorb-annotations.o): relocation 
R_X86_64_32 against `a local symbol' can not be used when making a shared 
object; recompile with -fPIC
/opt/ada/lib/libpolyorb.a: could not read symbols: Bad value
collect2: ld gab 1 als Ende-Status zurück
make: *** [/work/martin/Server/Linux-x86_64-Release/lib/liborb_server.so] 
Fehler 1
------------------------------------------------------------------------------

    REPEAT BY:

Try to link a shared library.

    SAMPLE FIX/WORKAROUND:

I tried to fix it but with GNU configure I don't even know where to start. 
Give me a hint and I give it a try.

1) use -aI instead of -I - but then the whole of PolyORB is recompiled.

2) use --enable-shared when reconfiguring might help es well - but currently 
it is broken so I can't confirm that.

Martin
-- 
Martin Krischik
mailto:/krischik at users.sourceforge.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : /pipermail/polyorb-users/attachments/20050108/b8535bd3/attachment-0001.bin


More information about the PolyORB-users mailing list