Troubleshooting MC
This page lists the most common problems encoutered with the NA62 MC code, along with more or less general solutions.
GGUS tickets
Some of the problems encountered are available as GGUS tickets:
Code compilation
Shared object portability issue. In
Generator/GNUmakefile
, define a new variable
CMCLIBNAME
, just above the existing
CMCLIB
definition:
CMCLIBNAME := libcmc.so
CMCLIB := $(CMCDIR)/libcmc.so
and then the target:
Generator: $(CMCLIB)
$(CMCLIB): $(OBJF) $(OBJC) $(COMMONOBJ) $(OBJCC)
$(FC) -shared -Wl,-soname,$(CMCLIBNAME) -o $(CMCLIB) $^
This way the .so is linked w/o the full path, which ensures portability of the executable. Same trick in
Beam/GNUmakefile
, but variable names
BEAMLIBNAME
and
BEAMLIB
.
Access permissions
Many errors came from read/write access permissions either for the local software area on sites, or for storage paths on various SEs. Using two certificates - one for jobs submission (and writing to the local storage) and the other for output replication to RAL and CERN complicates things somewhat.