Hi Ricardo,
you should add fortran library -lg2c which is part of your compiler
suite.
cheers
Jiri
Ricardo Eusebi <eusebi@fnal.gov> writes:
> All the fortran libraries (hdecay/hdecay.o hdecay/haber.o hdecay/feynhiggs.o) are linked!!!
> However when I do a grep s_wsle * the only files that contain it are the *.o files. ( no fortran source file has it)
> Seems to me (this may be a wild guess) that s_wsle is a reference to a fortran built function ( like atan or so)
> So my two questions remain :
> A- is this because the fortran libraries hdecay/*.o have not been compiled with the Position Independent Code option ?
> How do I compile with that option????
> B- Is there away to circunvent this that do not require the recompilation of root ?
> Thanks a lot
> Ricardo
> Philippe Canal wrote:
>
> Hi,
>
> You should link your library against the fortran library (I think this is where s_wsle comes from).
>
> Cheers,
> Philippe.
>
>
> ----------------------------------------------------------------------------------------------------------------------
>
> From: Ricardo Eusebi [[[mailto:eusebi@fnal.gov]]] Sent: Thursday, October 21, 2004 10:41 AM To: roottalk Cc:
> [[pcanal@fnal.gov]] Subject: relocation errors and invalid ELF error
>
>
>
> Hi, I'm (trying to) implement a Root C++ interface to the fortran program HDecay. I can succesfully create a
> executable that calls the proper fortran routines. However when trying to link to root everything seems to fail.
> I took a look at[[ http://root.cern.ch/root/HowtoCERNLIB.html]] but that particular case refers to CERN routines
> compiled without the option Position Independent Code (whatever that means).
> So I essentially follow the third way in the above web page up to the step 2 exclusive. I do not recompile root,
> nor I want to.
> so when loading the libraries I get
> root [0] gSystem->Load("libHDecay.so") (int)0 root [1] HDecay a root [2] HDECAY_InputVars in = a.DefineInputs()
> root [3] BR_HC B = a.GetHiggsBR(120,in) /home/cdfsoft/products/root/v3_05_04dKCC_4_0/Linux+2.4/bin/root.exe:
> relocation error: /mnt/autofs/misc/people/eusebi/root_macros/./libHDecay.so: undefined symbol: read_hdec_
> I thought that's because I didn't link the fortran libraries. So I added the libraries (hdecay/*.o) in the
> makefile libHDecay.so : HDecay.o hdecay/hdecay.o hdecay/haber.o hdecay/feynhiggs.o HDecayDict.o $(LD)
> $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@
> This compiles fine again, but the error in root this time is not relocation but this :
> root [0] gSystem->Load("libHDecay.so") dlopen error: /mnt/autofs/misc/people/eusebi/root_macros/./libHDecay.so:
> undefined symbol: s_wsle Load Error: Failed to load Dynamic link library
> /mnt/autofs/misc/people/eusebi/root_macros/./libHDecay.so (int)(-1) *** Interpreter error recovered ***
>
> QUESTIONS : A- is this because the fortran libraries hdecay/*.o have not been compiled with the Position
> Independent Code option ? How do I compile with that option????
> B- Is there away to circunvent this that do not require the recompilation of root ? At FermiLab we change root
> versions pretty often.
> Thanks a lot
> Ricardo
>
>
>
>
>
>
>
>
> --
> --------------------------------------------------------------------
> | Ricardo Eusebi | Office : CDF trailer 168-"O" |
> | High Energy Physics | Phone : (630) 840 8622 |
> | University of Rochester | email : [[eusebi@fnal.gov]] |
> --------------------------------------------------------------------
> | Fermi National Accelerator Laboratory |
> | CDF - MS318 . PO Box 500 |
> | Batavia 60510, Illinois. |
> --------------------------------------------------------------------
>
>
>
>
> --
> --------------------------------------------------------------------
> | Ricardo Eusebi | Office : CDF trailer 168-"O" |
> | High Energy Physics | Phone : (630) 840 8622 |
> | University of Rochester | email : [[eusebi@fnal.gov]] |
> --------------------------------------------------------------------
> | Fermi National Accelerator Laboratory |
> | CDF - MS318 . PO Box 500 |
> | Batavia 60510, Illinois. |
> --------------------------------------------------------------------
>
>
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET