[Clas_offline] clas x64 builds
Maurik Holtrop
maurik.holtrop at unh.edu
Thu Jul 30 10:31:16 EDT 2009
Hello Paul,
For the longest time there was no successful port of the CERNLIBS to
x86_64. The underlying reason is that for an x86_64 system, pointers
are 8 bytes long, while on the i386 (32 bits) they are 4 bytes long.
All over the CERNLIBs there was code where a pointer was placed into
an interger (i.e. 4 bytes) and then passed around in Fortran, before
being used again as a pointer to a function in a C routine. You get
the picture, x86_64 caused lots of segfaults. This was pretty tricky
to fix. Some code that did not rely on this nastiness would still work
though.
Recently it seems that these issues have been fixed, but you will need
to use a proper version of CERNLIB, which I gave up on obtaining. I
have used versions that compile and run, but not versions that give
the same answers as the i386 code. I would recommend compat mode until
someone smarted points us to the correctly ported version of CERNLIB :-)
Hope this helps.
Best,
Maurik
On Jul 30, 2009, at 10:18 AM, Paul Eugenio wrote:
> Dear Folks,
>
>
> Has anyone been successful in building clas software in native x64
> mode? I have successfully built clas programs on a x64 system in
> 32bit compatible mode, and from my discussion with a few other folks,
> this has been the only work around. I have heard that the problem
> lies in cernlibs. My hep colleagues are successful in building x64
> legacy cernlib-type code, and they are surprised by the claim that we
> cannot.
>
> Please let me know if you have any insight into this.
>
>
> BTW, I have built a native x64 version of a1c, but it seems to fail in
> the initialization sage just after TAGM and before STGeom_W.
>
> **********************
> submit 150% build/bin/a1c -D0xd101c -T4 -sa -ct1930 -cm0 -cp0 -X2 -
> d1 -
> F -P0x3ffff -Aprlink_g12_1930.bos -oxxx.bos ~/clas_056516.A33
> ....
> Target Z -90.000000
> WARNING, no beam position available in the database, take
> value=0.0000000.000000-90.000000 for run 56000 instead
> Beam offset (x,y) 0.000000 0.000000
> TAGM: Initializing with run number 56516
> TAGM: Reading file "/panfs/storage.local/genacc/home/eugenio/parms/
> tagE-boundaries_ALL.dat":tableE=4.60 GeV
> TAGM: Reading file "/panfs/storage.local/genacc/home/eugenio/parms/
> tagT-boundaries_ALL.dat":tableE=5.56 GeV
> TAGM: Reading file "/panfs/storage.local/genacc/home/eugenio/parms/
> tagETcoinc_ALL.dat":tableE=5.56 GeV
> TAGM: Initialization complete.
> signalSEGV: Caught signal 11 count: 0
> Run: 56516 Event 16021857
> signalSEGV: Caught signal 11 count: 1
> Run: 56516 Event 16021857
> signalSEGV: Caught signal 11 count: 2
> Run: 56516 Event 16021857
> Exit on:56516 16021857
> # of events: 1
> # of events written: 0
> total current 0.000000 microcoulombs
> submit 151%
>
>
>
>
>
> Paul Eugenio
>
>
>
> --
> Prof. Paul Eugenio
> Florida State University
> Department of Physics
> Tallahassee, Florida, USA 32306
>
> (850) 644-2585
> eugenio at fsu.edu
>
>
>
> _______________________________________________
> Clas_offline mailing list
> Clas_offline at jlab.org
> https://mailman.jlab.org/mailman/listinfo/clas_offline
More information about the Clas_offline
mailing list