Naming macros in hidden files (.rootlogon.C)

to my understanding, root executes the following macros on startup

${ROOTSYS}/system.rootlogon.C (if exists) ${HOME}/.rootlogon.C (if exists) $(pwd)/.rootlogon.C (if pwd!=HOME and if exists) ${Rint.Logon} (if set)

now it appears that gaudirun.py applications (proj-gaudi.web.cern.ch/proj-gaudi/) fails horribly (/afs/cern.ch/user/p/pseyfert/public/GAUDIERRORS.txt) when the logon macros are unnamed. e.g. when ${HOME}/.rootlogon.C just contains

{ somecode }

we fixed this by setting

moving ${HOME}/.rootlogon.C to ${HOME}/rootlogon.C and naming the macro therein

void rootlogon() { somecode }

my understanding is that actually the last step is the crucial one but I don’t know how to name macros in hidden files (such as .rootlogon.C) because the c++ function would need to be called .rootlogon() and function names must not contain a period. I so far used a user-dependent ~/.rootlogon.C (set plot styles) and project dependent .rootlogon.C files, lying in directories with macros (where i set

gSystem->AddIncludePath(Form("-I%s",incpath.Data())); gInterpreter->AddIncludePath(incpath.Data());).

Moving the user ~/.rootlogon.C to ~/rootlogon.C and naming the macro therein seems straight forward, and I can say “just don’t run gaudirun.py in directories which contain root macros”. But I’m wondering
[ul]is there a way to name macros in hidden files?
[/ul]

PS: the gaudi version i tested uses /afs/cern.ch/sw/lcg/releases/LCG_83/ROOT/6.06.00/x86_64-slc6-gcc49-opt/lib/ROOT.py

Hi,

We need to debug + fix this issue with gaudirun.py.

Can you send an email to me (axel@cern.ch) and whoever from LHCb you believe is knowledgeable on gaudirun.py? (Marco Clemencic?)

Regarding the naming of file names with non-C+±identifier characters: that’s indeed currently not supported. I have created sft.its.cern.ch/jira/browse/ROOT-8467

Cheers, Axel.

for the record, we continued discussing in ROOT-8533