STL libraries for CINT in v4.01.02 rh9_gcc322 binaries

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.


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?


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”
// <========= outside ifndef causes complaints from v4.01.02
// <==========================================

void tasks(const Option_t* opt=“seq”)
#ifdef CINT
gROOT->ProcessLine(".L Track.cxx+");
gROOT->ProcessLine(".L Event.cxx+");

The code with STL includes being outside “ifndef CINT” was proper for v4.00.
Thank you for explanation.