Print

Print


  Hi,

  I think this is just due to the link order in:

Creating shared library ../../lib/sun4x_58/libXrdOfs.so
CC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -KPIC -DSUNCC  -D_REENTRANT -mt -D_POSIX_PTHREAD_SEMANTICS -fast -xarch=v8plus -DXrdDEBUG=0 ../../obj/sun4x_58/XrdOfs.o ../../obj/sun4x_58/XrdOfsConfig.o ../../obj/sun4x_58/XrdOfsHandle.o   -G  -lposix4 -lsocket -lnsl -L/lib -lpthread -ldl -lCstd -L../../lib/sun4x_58 -lXrdAcc -lXrdOss -lXrdOdc -lXrdOuc -lXrdXr -o ../../lib/sun4x_58/libXrdOfs.so

The system libraries are before the Xrd ones. If I flip LIBS and MORELIBS 
around, i.e.

Creating shared library ../../lib/sun4x_58/libXrdOfs.so
CC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -KPIC -DSUNCC  -D_REENTRANT -mt -D
_POSIX_PTHREAD_SEMANTICS -fast -xarch=v8plus -DXrdDEBUG=0 ../../obj/sun4x_58/Xrd
Ofs.o ../../obj/sun4x_58/XrdOfsConfig.o ../../obj/sun4x_58/XrdOfsHandle.o   -G  
-L../../lib/sun4x_58 -lXrdAcc -lXrdOss -lXrdOdc -lXrdOuc -lXrdXr -lposix4 -lsock
et -lnsl -L/lib -lpthread -ldl -lCstd  -o ../../lib/sun4x_58/libXrdOfs.so

With this change xrootd starts and loads the libXrdOfs.so library on sol8. I
think this might be backwards in other places, too. I'll check systematically
and if nothing comes up I'll make a new version. 

  BTW, the --enable-echo is already useful... I guess the linker in sol8
(i.e. Workshop 6) was still a single pass linker?

  (I hope a particularly nasty place in Hell is reserved for the Sun marketing
people who keep changing the name of their stupid, slow compiler.)

                                   Pete


On Thu, Sep 02, 2004 at 04:32:23PM +0200, Peter Elmer wrote:
>   Hi Gerri,
> 
>   I just tried to run it on the same machine I used to make the build:
> 
> shire03> cat prova.cf 
> xrootd.fslib 20040901-0956/lib/libXrdOfs.so
> oss.readonly
> xrootd.export /data
> 
> shire03> uname -a
> SunOS shire03 5.8 Generic_117350-05 sun4u sparc SUNW,Sun-Fire
> 
> shire03> 20040901-0956/bin/xrootd -c prova.cf
> 040902 07:29:06 001 (c) 2004 Stanford University/SLAC xrd version 20040901-0956
> 040902 07:29:06 001 [log in to unmask] initialization started.
> 040902 07:29:06 001 Using configuration file prova.cf
> 040902 07:29:06 001 Optimizing for 256 connections; maximum is 1024
> 040902 07:29:06 001 (c) 2003 Stanford University/SLAC XRootd (eXtended Root Daemon).
> 040902 07:29:06 001 XRootd seclib not specified; strong authentication disabled
> 040902 07:29:06 001 XrootdConfig: ld.so.1: 20040901-0956/bin/xrootd: fatal: relocation error: file 20040901-0956/lib/libXrdOfs.so: symbol __1cDstd2l4n0ALchar_traits4Cc___6Frn0ANbasic_ostream4CcCTA__pkC_3_: referenced symbol not found opening shared library 20040901-0956/lib/libXrdOfs.so
> 040902 07:29:06 001 XrootdConfig: Unable to load file system.
> 040902 07:29:06 001 XrdProtocol: Protocol xrootd could not be loaded
> 040902 07:29:06 001 [log in to unmask]:1094 initialization failed.
> shire03> 
> 
> The symbol is:
> 
> shire03> dem __1cDstd2l4n0ALchar_traits4Cc___6Frn0ANbasic_ostream4CcCTA__pkC_3_
> 
> __1cDstd2l4n0ALchar_traits4Cc___6Frn0ANbasic_ostream4CcCTA__pkC_3_ == std::basic_ostream<char,__type_0>&std::operator<< <std::char_traits<char> >(std::basic_ostream<char,__type_0>&,const unsigned char*)
> 
> Interesting, on the sol8 machine I see:
> 
> shire03> ldd 20040901-0956/bin/xrootd
>         librt.so.1 =>    /usr/lib/librt.so.1
>         libsocket.so.1 =>        /usr/lib/libsocket.so.1
>         libnsl.so.1 =>   /usr/lib/libnsl.so.1
>         libpthread.so.1 =>       /usr/lib/libpthread.so.1
>         libdl.so.1 =>    /usr/lib/libdl.so.1
>         libCrun.so.1 =>  /usr/lib/libCrun.so.1
>         libm.so.1 =>     /opt/SUNWspro/lib/libm.so.1
>         libw.so.1 =>     /usr/lib/libw.so.1
>         libthread.so.1 =>        /usr/lib/libthread.so.1
>         libc.so.1 =>     /usr/lib/libc.so.1
>         libaio.so.1 =>   /usr/lib/libaio.so.1
>         libmp.so.2 =>    /usr/lib/libmp.so.2
>         /usr/platform/SUNW,Sun-Fire/lib/libc_psr.so.1
> 
> while on the sol9 machine (with the sol9 build) I see:
> 
> kan001> ldd 20040901-0956/bin/xrootd 
>         librt.so.1 =>    /usr/lib/librt.so.1
>         libsocket.so.1 =>        /usr/lib/libsocket.so.1
>         libnsl.so.1 =>   /usr/lib/libnsl.so.1
>         libpthread.so.1 =>       /usr/lib/libpthread.so.1
>         libdl.so.1 =>    /usr/lib/libdl.so.1
>         libCstd.so.1 =>  /usr/lib/libCstd.so.1
>         libCrun.so.1 =>  /usr/lib/libCrun.so.1
>         libm.so.1 =>     /usr/lib/libm.so.1
>         libw.so.1 =>     /usr/lib/libw.so.1
>         libthread.so.1 =>        /usr/lib/libthread.so.1
>         libc.so.1 =>     /usr/lib/libc.so.1
>         libaio.so.1 =>   /usr/lib/libaio.so.1
>         libmd5.so.1 =>   /usr/lib/libmd5.so.1
>         libmp.so.2 =>    /usr/lib/libmp.so.2
>         /usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
>         /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
>         /usr/platform/SUNW,Sun-Fire-V240/lib/libmd5_psr.so.1
> 
> Only the latter has libCstd.so, so something is going wrong with the sol8
> build.
> 
>                                    Pete
> 
> On Thu, Sep 02, 2004 at 04:21:54PM +0200, Gerardo Ganis wrote:
> >   Hi Jean-Yves,
> > 
> >   I have just tried again on a CERN sundev machine
> > 
> > SunOS sundev013 5.8 Generic_108528-22 sun4u sparc SUNW,Sun-Fire-V210
> > 
> >   using CC
> > 
> > CC: Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-02 2001/03/04
> > 
> >   and everything seems to be fine. 
> > 
> >   The symbol giving problems to you should be in libCstd.so: could
> >   you check your LD_LIBRARY_PATH? It looks like you may have a 
> >   mismatch somewhere there ...
> > 
> >   Cheers, Gerri
> > 
> > 
> > On Thu, 2 Sep 2004, Jean-Yves Nief wrote:
> > 
> > > hello Pete,
> > > 
> > >              I've tried it on Solaris 8 and I had a problem with some 
> > > referenced symbol while I was trying to start a xrootd daemon (the 
> > > problem is located in libXrdOfs.so):
> > > 040902 14:40:27 001 XrootdConfig: ld.so.1: /opt/xrd/bin/cur/xrootd: 
> > > fatal: relocation error: file /opt/xrd/lib/
> > > cur/libXrdOfs.so: symbol 
> > > __1cDstd2l4n0ALchar_traits4Cc___6Frn0ANbasic_ostream4CcCTA__pkC_3_: 
> > > referenced symbol
> > > not found opening shared library /opt/xrd/lib/cur/libXrdOfs.so
> > > 
> > > I did not try the Solaris 9 distrib yet.
> > > cheers,
> > > JY
> > > 
> > > Peter Elmer wrote:
> > > 
> > > >  Hi All, 
> > > >
> > > >  Following a discussion in one of the BaBar HN fora, there is now another 
> > > >new xrootd version 20040901-0956. On top of the last version 20040901-0613, 
> > > >this just adds a few more small fixes for building xrootd within ROOT. If 
> > > >nothing else comes up, it would help BaBar test the HEAD of ROOT CVS if this 
> > > >xrootd version can be added in place of the one from a month ago.
> > > >
> > > >  For the full set of changes and links to rpms/tarballs to download see the 
> > > >the xrootd web page:
> > > >
> > > >   http://xrootd.slac.stanford.edu
> > > >
> > > >Let us know if there are problems.
> > > >
> > > >                                 thanks,
> > > >                                   Pete
> > > >


-------------------------------------------------------------------------
Peter Elmer     E-mail: [log in to unmask]      Phone: +41 (22) 767-4644
Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
-------------------------------------------------------------------------