Good morning,
i’ve got a serious problem loading a macro in root.
I’ve a virtual machine with Ubuntu 14.04.02 on it and the last version of ROOT (6.04).
I’ve written a macro in a generic folder. When i open root in that folder and do the command gRoot->LoadMacro(“diff.cxx++g”), i receive these errors:
[code]root [0] gROOT->LoadMacro("./diff.cxx++g")
Info in TUnixSystem::ACLiC: creating shared library /home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/././diff_cxx.so
In file included from /home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:16:0:
/home/physycom/Root/include/TInterpreter.h:329:7: error: stray ‘\303’ in program
R__LOCKGUARD2(gInterpreterMutex);
^
/home/physycom/Root/include/TInterpreter.h:329:7: error: stray ‘\240’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\303’ in program
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\240’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\303’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\240’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\303’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\240’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\303’ in program
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:4: error: stray ‘\240’ in program
In file included from /home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:13:0:
/home/physycom/Root/include/TInterpreter.h: In member function ‘void TInterpreter::CallFunc_SetArguments(CallFunc_t*, const T& …)’:
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:3:61: error: expected initializer before ‘dILaboratoriosP2dIFacoltativodIDiffsPSmorzatodIdOdIdiff_cxx_ACLiC_dictR__guard329’
#define R__DICTIONARY_FILENAME dIhomedIphysycomdIUniversitàdILaboratoriosP2dIFacoltativodIDiffsPSmorzatodIdOdIdiff_cxx_ACLiC_dict
^
/home/physycom/Root/include/RConfig.h:401:39: note: in definition of macro ‘NAME3’
define NAME3(name1,name2,name3) name1##name2##name3
^
/home/physycom/Root/include/RConfig.h:421:27: note: in expansion of macro ‘R__JOIN3’
define R__UNIQUE(X) R__JOIN3(R__DICTIONARY_FILENAME,X,LINE)
^
/home/physycom/Root/include/RConfig.h:421:38: note: in expansion of macro ‘R__DICTIONARY_FILENAME’
define R__UNIQUE(X) R__JOIN3(R__DICTIONARY_FILENAME,X,LINE)
^
/home/physycom/Root/include/TVirtualMutex.h:94:40: note: in expansion of macro ‘R__UNIQUE’
#define R__LOCKGUARD(mutex) TLockGuard R__UNIQUE(R__guard)(mutex)
^
/home/physycom/Root/include/TVirtualMutex.h:102:4: note: in expansion of macro ‘R__LOCKGUARD’
R__LOCKGUARD(mutex)
^
/home/physycom/Root/include/TInterpreter.h:329:7: note: in expansion of macro ‘R__LOCKGUARD2’
R__LOCKGUARD2(gInterpreterMutex);
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx: At global scope:
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:3:61: error: expected initializer before ‘dILaboratoriosP2dIFacoltativodIDiffsPSmorzatodIdOdIdiff_cxx_ACLiC_dictInit72’
#define R__DICTIONARY_FILENAME dIhomedIphysycomdIUniversitàdILaboratoriosP2dIFacoltativodIDiffsPSmorzatodIdOdIdiff_cxx_ACLiC_dict
^
/home/physycom/Root/include/RConfig.h:401:39: note: in definition of macro ‘NAME3’
define NAME3(name1,name2,name3) name1##name2##name3
^
/home/physycom/Root/include/RConfig.h:421:27: note: in expansion of macro ‘R__JOIN3’
define R__UNIQUE(X) R__JOIN3(R__DICTIONARY_FILENAME,X,LINE)
^
/home/physycom/Root/include/RConfig.h:421:38: note: in expansion of macro ‘R__DICTIONARY_FILENAME’
define R__UNIQUE(X) R__JOIN3(R__DICTIONARY_FILENAME,X,LINE)
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:38: note: in expansion of macro ‘R__UNIQUE’
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:3:61: error: variable ‘ROOT::dIhomedIphysycomdIUniversit ROOT::dILaboratoriosP2dIFacoltativodIDiffsPSmorzatodIdOdIdiff_cxx_ACLiC_dictInit72_c’ has initializer but incomplete type
#define R__DICTIONARY_FILENAME dIhomedIphysycomdIUniversitàdILaboratoriosP2dIFacoltativodIDiffsPSmorzatodIdOdIdiff_cxx_ACLiC_dict
^
/home/physycom/Root/include/RConfig.h:400:33: note: in definition of macro ‘NAME2’
define NAME2(name1,name2) name1##name2
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:105: note: in expansion of macro ‘R__UseDummy’
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
/home/physycom/Root/include/RConfig.h:419:30: note: in expansion of macro ‘NAME3’
define R__JOIN3(F,X,Y) NAME3(F,X,Y)
^
/home/physycom/Root/include/RConfig.h:421:27: note: in expansion of macro ‘R__JOIN3’
define R__UNIQUE(X) R__JOIN3(R__DICTIONARY_FILENAME,X,LINE)
^
/home/physycom/Root/include/RConfig.h:421:38: note: in expansion of macro ‘R__DICTIONARY_FILENAME’
define R__UNIQUE(X) R__JOIN3(R__DICTIONARY_FILENAME,X,LINE)
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:117: note: in expansion of macro ‘R__UNIQUE’
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
In file included from /home/physycom/Root/include/TObject.h:31:0,
from /home/physycom/Root/include/TNamed.h:26,
from /home/physycom/Root/include/TDictionary.h:45,
from /home/physycom/Root/include/TClass.h:25,
from /home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:14:
/home/physycom/Root/include/Rtypes.h:275:29: error: expected primary-expression before ‘public’
class NAME2(name,_c) { public: NAME2(name,_c)() { if (name) { } } }
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:105: note: in expansion of macro ‘R__UseDummy’
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
/home/physycom/Root/include/Rtypes.h:275:29: error: expected ‘}’ before ‘public’
class NAME2(name,_c) { public: NAME2(name,_c)() { if (name) { } } }
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:105: note: in expansion of macro ‘R__UseDummy’
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
/home/physycom/Root/include/Rtypes.h:275:29: error: expected ‘,’ or ‘;’ before ‘public’
class NAME2(name,_c) { public: NAME2(name,_c)() { if (name) { } } }
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:72:105: note: in expansion of macro ‘R__UseDummy’
static ::ROOT::TGenericClassInfo R__UNIQUE(Init) = GenerateInitInstanceLocal((const ::Diff)0x0); R__UseDummy(R__UNIQUE(Init));
^
/home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.cxx:167:1: error: expected ‘}’ at end of input
}
^
g++: error: /home/physycom/Università/Laboratorio 2/Facoltativo/Diff Smorzato/./diff_cxx_ACLiC_dict.o: File o directory non esistente
Error in : Compilation failed!
(Int_t) -1
root [1]
[/code]
Instead, if i put the file in the root’s folder macros i receive no error.
root [0] gROOT->LoadMacro("./diff.cxx++g")
Info in <TUnixSystem::ACLiC>: creating shared library /home/physycom/Root/macros/././diff_cxx.so
(Int_t) 0
root [1]
Is there a solution for my problem?