Dear Rootters,
I’ve just migrated from 4.00.08 to 4.01.02 using rh90_322 binaries.
However i found that executing in a macro gROOT->ProcessLine(“File.cxx+”) causes g++ complain:
g++: vector.dll: No such file or directory
g++: stdfunc.dll: No such file or directory
g++: list.dll: No such file or directory.
My configuration looks properly done.
regards, Valery.
Could you try again. I forgot to build the cintdlls on this platform.
Rene
I guess they are exists from the beginnng:
791782 Sep 26 12:11 /work/root/v4.01.02/rh90_gcc322/root/cint/stl/vector.dll
I tried - result is the same.
could you send the shortest possible script reproducing the problem?
Rene
The problem is in the #include and #include lines in the interpreted macro
with gROOT->ProcessLine(".L file.cxx+"). Hiding them inside #ifndef CINT helps.
Hello Valery,
I guess there is a misunderstanding in your procedure of using g++. vector.dll, stdfunc.dll exists for Cint to dynamically load precompiled library. g++ should not read those libraries. In other words, those
libraries are needed only when you interpret scripts or when you are generating dictinoary code using rootcint or makecint. Neither case,
g++ should not read it. So, masking them with #ifdef CINT can be a right solution.
But, anyway, will you describe what you are trying to do and the procedure.
Thank you
Masa Goto
Dear Masa,
I try to run .x tasks.C in my ROOT session.
Here is an essential part of tasks.C:
#ifndef CINT
#include “Event.h”
#include
#include
#include
// <========= outside ifndef causes complaints from v4.01.02
#include
#include
// <==========================================
#endif
#include
void tasks(const Option_t* opt=“seq”)
{
#ifdef CINT
gSystem->Load(“libPhysics.so”);
gROOT->ProcessLine(".L Track.cxx+");
gROOT->ProcessLine(".L Event.cxx+");
#endif
The code with STL includes being outside “ifndef CINT” was proper for v4.00.
Thank you for explanation.
Valery.
[/code]