Strange behavior of graphic display with latest OS X

What do you get if you simply try to open a TCanvas form command line … ? the same error ?

Case 1.

root [] TCanvas c
(TCanvas &) Name: c1 Title: c1

Case 2.

root [] TCanvas *d = new TCanvas("d", "d", 400, 400)
(TCanvas *) 0x7f8857f603a0

Case 3.

root [0] TCanvas *c
(TCanvas *) nullptr
root [1] c = new TCanvas("c", "c", 400, 400)
Warning in TFile::Init: no StreamerInfo found in /usr/local/Cellar/root6/6.08.02/lib/root/libGQuartz_rdict.pcm therefore preventing schema evolution when reading this file.
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for TGCocoa.h
requested to autoload type TGCocoa
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for TGOSXGL.h
requested to autoload type TGOSXGLManager
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for TGQuartz.h
requested to autoload type TGQuartz
Warning in TFile::Init: no StreamerInfo found in /usr/local/Cellar/root6/6.08.02/lib/root/libGCocoa_rdict.pcm therefore preventing schema evolution when reading this file.
Error in TUnixSystem::Load: version mismatch, /usr/local/Cellar/root6/6.08.02/lib/root/libGCocoa.so = 60802, ROOT = 60806
Error in TInterpreter::TCling::AutoLoad: failure loading library libGCocoa.so for TGCocoa
(TCanvas *) 0x7ff13e11db80

Case 4.

root [7] TCanvas *n
(TCanvas *) nullptr
root [8] n = new TCanvas("n", "n")
(TCanvas *) 0x7ff13e18b530

Well, Case 4. seems a bug. Because when I relaunch root and do it again, I get the problem again:

root [0] TCanvas *n
(TCanvas *) nullptr
root [1] n = new TCanvas("n", "n")
Warning in TFile::Init: no StreamerInfo found in /usr/local/Cellar/root6/6.08.02/lib/root/libGQuartz_rdict.pcm therefore preventing schema evolution when reading this file.
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for TGCocoa.h
requested to autoload type TGCocoa
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for TGOSXGL.h
requested to autoload type TGOSXGLManager
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for TGQuartz.h
requested to autoload type TGQuartz
Warning in TFile::Init: no StreamerInfo found in /usr/local/Cellar/root6/6.08.02/lib/root/libGCocoa_rdict.pcm therefore preventing schema evolution when reading this file.
Error in TUnixSystem::Load: version mismatch, /usr/local/Cellar/root6/6.08.02/lib/root/libGCocoa.so = 60802, ROOT = 60806
Error in TInterpreter::TCling::AutoLoad: failure loading library libGCocoa.so for TGCocoa
(TCanvas *) 0x7f8129092420

I do not see this problem:

$ root
   -----------------------------------------------------------------
  | Welcome to ROOT 6.09/01                     http://root.cern.ch |
  |                                    (c) 1995-2016, The ROOT Team |
  | Built for macosx64                                              |
  | From heads/master@v6-09-01-1782-g3ac203b, Mar 06 2017, 10:19:54 |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'      |
   -----------------------------------------------------------------

root [0] TCanvas *c
(TCanvas *) nullptr
root [1] c = new TCanvas("c", "c", 400, 400)
(TCanvas *) 0x7f9518300100
root [2] 

You are using x11?

And noticed that the

/usr/local/Cellar/root6/6.08.02/lib/root/

in the warning and error is my old root location(But I have done “source” command!!).

Yes I did the test with the X11 version.
Its seems your installation is mixed with an old version of ROOT …
After the “source” command can you check what is the value of $ROOTSYS. Does it point to the right place ?

YideMacBook-Pro:root6_build yitao$ which root
/Users/yitao/programs/root6_v6.08.06/root6_build/bin/root
YideMacBook-Pro:root6_build yitao$ cd $ROOTSYS 
YideMacBook-Pro:root6_build yitao$ pwd
/Users/yitao/programs/root6_v6.08.06/root6_build
YideMacBook-Pro:root6_build yitao$

It’s indeed the new version.

But it seems wrong in the .bash_profile file:

export ROOTSYS=/usr/local/bin/root 
. $(brew --prefix root6)/libexec/thisroot.sh

How to modify it?

do the right source command in the .bash_profile file

Thanks Olivier!

I change the $ROOTSYS both in ~/.bashrc and ~/.bash_profile, and after relaunching the terminal(This is necessary, because I thought it still didn’t work before relaunching), now it works!!!

Thank you so much!

That’s good news :slight_smile: