[Halld-offline] locf_() Warning when running hdgeant

Nathan Sparks nsparks at fsu.edu
Thu Oct 28 21:36:19 EDT 2010


Hi Eugene,

I copied over the appropriate cernlib libraries from JLab ifarml1, and when I use them I no longer get a locf_() Warning. There is a list of fixes in /apps/cernlib/BUILD/README.new_corr. Thank-you for the help.

Regards,
Nathan

----- Original Message -----
From: Eugene Chudakov <gen at jlab.org>
Date: Thursday, October 28, 2010 7:26 pm
Subject: Re: [Halld-offline] locf_() Warning when running hdgeant
To: Nathan Sparks <nsparks at fsu.edu>
Cc: halld-offline at jlab.org

> The function locf returns the absolute address of a variable, 
> stored in
> a fixed area, as in a COMMON. It returns 4 Bytes, however on a 64-
> bit box
> the full address ishould contain 8 Bytes. The result depends on the 
> CPU/compiler implementation,
> even if the program itself does not exceed the 4 Bytes space. For 
> some implementations the lower 
> 4 Bytes define the address correctly for programs which fit into 2GB.
> 
> Some  cernlib versions (I believe coming from A.Vogt from DESY, who 
> made a 64-bit hack) 
> do a check and complain/stop if the address is long, even if the 
> higher bits are meaningless.
> 
> BTW, locf is used by the package FFREAD, used by GEANT3.
> 
> It seems that the Jlab version does not have this check, see:
> jlabl1:/apps/cernlib/BUILD/2005/src/packlib/kernlib/kerngen/ccgen/locf.c
> 
> I would suggest to get the cernlib libraries from JLab and try it.
> 
> I compiled cernlib for myself, removing the check, but keeping some 
> other64-bit hacks from A.Vogt. It works fine to link GEANT3. 
> However, for
> reasons unknown to me, the paw executable became crippled in 
> comparisonwith the original version, crashing on large ntuples.
> 
> Let me know it you still have trouble. I can provide my cernlib 
> version, which
> links into working GEANT3 executables.
> 
> Eugene
> 
> ------------------------------------------------------
> Eugene Chudakov
> http://www.jlab.org/~gen
> phone (757) 269 6959  fax (757) 269 6331
> Thomas Jefferson National Accelerator Facility
> 12000 Jefferson Ave,
> Newport News, VA 23606 USA
> 
> On Thu, 28 Oct 2010, Nathan Sparks wrote:
> 
> > Hi All,
> >
> > I recently compiled the offline software on a 64-bit linux 
> machine with gcc 4.1.2, and using 64-bit libraries/packages 
> (cernlib,root,etc). When I run hdgeant, I get the following warning 
> messages repeated many times:
> > !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> > locf_() Warning: changing base from 0 to 7fff00000000!!!
> > This may result in program crash or incorrect results
> > !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> > It is a 64-bit cernlib issue, but I have not been able to find a 
> solution to it. Does anyone happen to have a solution to this problem?
> >
> > Regards,
> > Nathan
> > _______________________________________________
> > Halld-offline mailing list
> > Halld-offline at jlab.org
> > https://mailman.jlab.org/mailman/listinfo/halld-offline
> >
> 



More information about the Halld-offline mailing list