ROOT system not initialized???

From: Stephen Markacs (markacs@nevis1.nevis.columbia.edu)
Date: Fri Mar 19 1999 - 17:56:54 MET


I'm trying to run a simple test program to understand using TOrdCollection
and TOrdCollectionIter and having a problem.  When I run the code, it gets
to main's closing brace and gives me an endless stream of:

Fatal in <TClass::TClass>: ROOT system not initialized
aborting
Fatal in <TClass::TClass>: ROOT system not initialized
aborting
....

The code is:


#include <iostream.h>
#include "TROOT.h"
#include "TOrdCollection.h"
#include "TH1.h"

int main() 
{
  TROOT root("name","title");
  
  TOrdCollection * coll = new TOrdCollection(3);

  TH1D* h1 = new TH1D("name1","title1",100,0.0,500.0);
  TH1D* h2 = new TH1D("name2","title2",100,0.0,500.0);

  coll->AddLast(h1);
  coll->AddLast(h2);

  TOrdCollectionIter iter(coll);

  cout<<((TNamed*)iter.Next())->GetName()<<endl;
  cout<<((TNamed*)iter.Next())->GetName()<<endl;

  if (iter.Next() == 0) cout << "yes" << endl;

  return 0;
}


If I comment out the three lines with cout in them, I don't get any
errors.  This is all on Windows NT under MS VC++ 6.0.  If I compile and
run on Unix (SGI), I don't get any problems either way.  Am I missing
something?



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET