Re: modularity

From: Fons Rademakers <Fons.Rademakers_at_cern.ch>
Date: Thu, 14 Apr 2005 15:00:24 +0200


Hi F.X.,

   you don't link with -rpath are something like that? The directory has the proper AFS permissions? If you do ldd what do you see?

Cheers, Fons.

GENTIT Francois-Xavier DAPNIA wrote:

> Hello René,
> My problem is that Litrani compiled and linked by me, user gentitfx on
> lxplus, cannot be executed by an other user on the same lxplus machine, let
> us call it fabbro, even if fabbro has put litrani in his $ROOTDEV/bin, has
> put libSplineFit.so in his $ROOTDEV/lib with all access permissions, has
> indicated his $ROOTDEV/lib in his $LD_LIBRARY_PATH and his $ROOTDEV/bin in
> his $PATH.
> To fix the idea, let us suppose that my ROOTDEV is
> /afs/cern.ch/user/g/gentitfx/rootdev
> And that the ROOTDEV of Fabbro is
> /afs/cern.ch/user/f/fabbro/rootdev
> 
> If Litrani has been compiled and linked by me, gentitfx, then when executed
> by Fabbro, instead of looking for libSplineFit.so in
> /afs/cern.ch/user/f/fabbro/rootdev/lib, it tries to find it in
> /afs/cern.ch/user/g/gentitfx/rootdev/lib !
> 
> It is to be compared with ROOT, where, after the binary installation of ROOT
> by a user like Fabbro (not the installation from sources), the .so of ROOT
> are correctly searched for in the $ROOTSYS/lib of Fabbro, not in the
> $ROOTSYS/lib of René Brun! I must certainly do something wrong! Thanks a lot
> for your help.
> 
> F.X.Gentit
> DAPNIA/SPP CEA Saclay
> http://gentit.home.cern.ch/gentit/
>  
> 

>>-----Message d'origine-----
>>De : Rene Brun [mailto:brun_at_pcroot.cern.ch]
>>Envoyé : jeudi 14 avril 2005 09:40
>>À : GENTIT Francois-Xavier DAPNIA
>>Cc : Club ROOT (roottalk_at_pcroot.cern.ch)
>>Objet : Re: [ROOT] modularity
>>
>>F.X
>>
>>Did you do what you indicate in your Makefile
>> -adding your ROOTDEV/lib to your LD_LIBRARY_PATH
>> -setting the execute permissions
>> chmod +x /afs/cern.ch/user/g/gentitfx/rootdev/lib/libSplineFit.so
>>
>>Rene Brun
>>
>>On
>>Wed, 13 Apr 2005,
>>GENTIT
>>Francois-Xavier DAPNIA wrote:
>>
>>
>>>
>>>Dear Rooters,
>>>
>>>Recently, I have made my program Litrani modular, trying to copy the way
>>>modularity is implemented in Root. Litrani has now 2 modules,
>>
>>"SplineFit",
>>
>>>which is stand alone, and "litrani" which needs SplineFit. I have asked
>>
>>the
>>
>>>user to create a system variable $ROOTDEV, in perfect analogy to
>>
>>$ROOTSYS
>>
>>>and to create folders bin, lib and include in $ROOTDEV. All this is
>>
>>working
>>
>>>perfectly on Windows XP, but on Linux I have the following problem:
>>>when the user launches the executable "litrani" as I have compiled and
>>>linked it (i.e. without recompiling it), instead of looking for the
>>
>>shared
>>
>>>library "libSplineFit.so" in the $ROOTDEV/lib of the user, it tries to
>>
>>find
>>
>>>it from MY $ROOTDEV/lib!!! The program crashes with the message:
>>>litrani: error while loading shared libraries:
>>>/afs/cern.ch/user/g/gentitfx/rootdev/lib/libSplineFit.so: cannot open
>>
>>shared
>>
>>>object file: Permission denied
>>>As probably it is due to something wrong in my Makefiles, I include in
>>
>>this
>>
>>>mail the Makefile for SplineFit and the one for Litrani. Thanks a lot if
>>
>>you
>>
>>>can help me
>>>
>>>[I have first put this mail on the Roottalk forum, but did not succeeded
>>
>>in
>>
>>>attaching files. It is why I redo this as a mail. Sorry.]
>>>
>>>
>>>_________________
>>>
>>>F.X.Gentit
>>>
>>>DAPNIA/SPP CEA Saclay
>>>
>>>http://gentit.home.cern.ch/gentit/
>>>
>>>
>>>
>>>
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers_at_cern.ch              Phone: +41 22 7679248
WWW:    http://www.rademakers.org/fons/      Fax:   +41 22 7679480
Received on Thu Apr 14 2005 - 15:10:16 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:06 MET