RE: modularity

From: GENTIT Francois-Xavier DAPNIA <GENTIT_at_dapnia.cea.fr>
Date: Thu, 14 Apr 2005 14:33:27 +0200


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/
> >
> >
> >
> >
Received on Thu Apr 14 2005 - 14:37:18 MEST

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