Anne-Marie, This is not a compilation bug, but a bug occuring at execution time. It looks like you have a partial implementation of ROOT. Check that the symbol $ROOTSYS is defined and points to your installation of ROOT. Check that you have the $ROOTSYS/fonts directory in your system. This directory should contain 35 fonts including arialbd.ttf Also check your $ROOTSYS/etc/system.rootrc or $HOME/.rootrc files. The system.rootrc file should contain the following lines: # Path where to look for TrueType fonts Unix.*.Root.UseTTFonts: true Unix.*.Root.TTFontPath: $(ROOTSYS)/fonts Rene Brun Anne-Marie Magnan wrote: > > Dear Root People, > > I have a problem while compiling a program with new versions of root. It > works well with older version (v3.03/06). > Here is the error I have, > > Error in <TTF::SetTextFont>: font file arialbd.ttf not found in path > Error in <TTF::SetTextSize>: current font index out of bounds > > a lot of times, and this happened at a simple line of my program: > hist1->Draw(); > > If I just comment this line but define the histogram in the same way, it > works well. > > I hope I am giving enough information, I put my 'detailed' programs here > below in case you need it. > > Thanks a lot for your help, > > Best regards, > > Anne-Marie. > > My program around the bug is: ("........" means a lot of things done with > nothing to do with the problem) > > **************************************************************************** > ***** > **************************************************************************** > ***** > *********** main.C file ******************* > > #include <TROOT.h> > ......... > p_masse = new TH1F("masse","masse",200,0,200); > .........masse = ......... > p_masse->Fill(masse); > ......... > gStyle->SetOptStat(111111); > gStyle->SetOptFit(1111); > > TCanvas *myc = new TCanvas("myc","myc_titre",0,0,360,520); > > Plot1(myc,p_masse,0,"masse (GeV.c^{-2})","","output/masse.eps","nofit"); > > *********** Plot method ************** > > #include "iostream.h" > #include "TCanvas.h" > #include "TPad.h" > #include "TH1.h" > #include "TH2.h" > #include "TStyle.h" > #include "TFile.h" > > // ===================================================================== > // Plot 1 histo > // ===================================================================== > > void Plot1(TCanvas *c1, TH1* hist1, Bool_t log1, > const TString &absc = "", const TString &ordo = "", > const TString &file = "", const TString &fit = "") > { > if (c1) > { > c1->Clear(); > } > else > { > c1 = (TCanvas*)gROOT->FindObject("c1"); > } > > TPad* pad1 = new TPad("pad1","pad",0.02,0.02,0.98,0.98); > pad1->Draw(); > > pad1->cd(); > > if (log1) pad1->SetLogy(1); else pad1->SetLogy(0); > pad1->SetGrid(); > if(fit=="fit") hist1->Fit("gaus"); > hist1->Draw(); > hist1->GetXaxis()->SetTitle(absc); > hist1->GetYaxis()->SetTitle(ordo); > c1->Update(); > > if(file!="none") c1->Print(file); > } > > ************** main.h file (obtain with a MakeClass method) ************** > > #include <TROOT.h> > #include <TChain.h> > #include <TFile.h> > #include "TMatrix.h" > #include "TObject.h" > #include "TObjArray.h" > #include "iostream.h" > #include <TMath.h> > > #include "TH1.h" > #include "TH2.h" > #include "TProfile.h" > #include "TF1.h" > //#include "TPostScript.h" > #include "TStyle.h" > #include "TCanvas.h" > > #include "PlotUtil.C" > #include "itoa.C" > > ........ > > TH1F *p_masse; > > ........ > > delete p_masse; > > ........ > > *************************************************************************** > *************************************************************************** > > I execute the program with that line: > > g++ -g `root-config --cflags` -o $1 $1.C `root-config --glibs` > > ******************************************** > MAGNAN Anne-Marie > Groupe D0, piece 123 > LPSC 53 av. des Martyrs > F-38026 Grenoble Cedex > Tel:(33) (0) 4 76 28 40 72 > Fax:(33) (0) 4 76 28 40 04 > e-mail: magnan@lpsc.in2p3.fr > ********************************************
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET