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.