Fixing 64-bit Cernlib for Fedora 25

Here are the errors:

Linking    [.Linux_Fedora25-x86_64-gcc6.2.1/programs/Simulation/HDGeant/utilities/bcal2nt]
/usr/bin/ld: cannot find -lgeant321
/usr/bin/ld: cannot find -lpawlib
/usr/bin/ld: cannot find -lgraflib
/usr/bin/ld: cannot find -lgrafX11
/usr/bin/ld: cannot find -lpacklib
/usr/bin/ld: cannot find -lmathlib
/usr/bin/ld: cannot find -lkernlib
collect2: error: ld returned 1 exit status
scons: *** [.Linux_Fedora25-x86_64-gcc6.2.1/programs/Simulation/HDGeant/utilities/bcal2nt] Error 1
scons: building terminated because of errors.
/home/gluex/gluex_top/build_scripts/Makefile_sim-recon:65: recipe for target '/home/gluex/gluex_top/sim-recon/sim-recon-2.10.0/.sconstruct_done' failed
make[1]: *** [/home/gluex/gluex_top/sim-recon/sim-recon-2.10.0/.sconstruct_done] Error 2
make[1]: Leaving directory '/home/gluex/gluex_top/sim-recon'
/home/gluex/gluex_top/build_scripts/Makefile_all:89: recipe for target 'sim-recon_make' failed
make: *** [sim-recon_make] Error 2

Cernlib (Vogt edition) was bombing because GCC 6 was not recognized as a legal GCC compiler version. Fixed that on branch cernlib_fedora_fix of build_scripts. In the process changed the way cernlib patches applied. Before make a patch to Install_cernlib that made that script apply subsequent patches after the source code was unpack. Now to all patching directly from Makefile, need to unpack the source first to make that happen.


References on the getarg_fix Patch to CERNLIB in build_scripts

Contains an example of the error when nothing is done.

Contains an alternate solution, with code. Notes that getarg is needed for “mpich”.

Updated version of Vogt’s CERNLIB 64-bit site.

Old version of Vogt’s site. Contains comment on need for getarg fix, but link to the code is dead now.

Documentation for getarg from gfortran 4.7.1. Notes that it is provided for backward compatibility.

Shows getarg appearing in gcc 4.2.2 at least.

This is probably where I got the patch in the first place.

A copy of the patch’s cuserid.c from the web, except our version hardwires L_cuserid to 9. See SVN revision 5482.


fixing freetype error when building cernlib

On fedora systems, when building cernlib, include files from “freetype” are not found. The fix:

cd /usr/include
ln -s freetype2/freetype


Cernlib build error on CentOS6

stddef.h error from makedepend
Vogt wants it in /usr/include, CentOS6 has it in /usr/include/linux


cernlib, 64-bit, roentgen, RedHat Enterprise Linux 6

Changes needed to build cernlib, 64-bit versioin, a la Vogt on, a RHEL6 64-bit machine.

  • install imake
  • install blas and lapack
  • install blas-devel and lapack-devel
  • make a free type link
    • ln -s /usr/include/freetype2/freetype /usr/include/freetype

notes on roentgen build

built xerces-c 2.7.0 and installed it in /group/halld
current error is lack of definition of ROOTSYS
defining script need modification
also that for CERNLIB