Root built on OS X 10.9 can't read root trees

So this is somewhat related to this [url=https://root-forum.cern.ch/t/problems-compiling-on-os-x-10-9/16774/1 thread on problems compiling on OS x 10.9[/url]. I got to the point where I got root built and other stand alone applications (that creates tree root files) dependent on the root libs to build. The problem now is that it fails to read any of my *.root files, so hence this new thread.

It would crash when I try to spawn the StartViewer() or when a script tries to read from the root tree. So to make sure that this has nothing to do with any of my code (which worked with the previous version of root prior to upgrading to OS X 10.9!), I"m going to go and demonstrate using the root tutorials, that the newly built root crashes on reading a root tree (you can load it, but you can’t read it!).

So here are the steps I took, making sure I was a picking up the correct root version, which I currently built locally and using the tutorial cernbuild.C script to generate the tree root file:

[code]jade-mbp:~ jade$ cd root
jade-mbp:root jade$ ls
CMakeLists.txt config geom lib proof
LICENSE config.log graf2d macros roofit
Makefile config.status graf3d main rootx
README configure gui man sql
bin core hist math test
bindings doc html misc tmva
build docbook icons montecarlo tree
cint etc include myConfig.log tutorials
cmake fonts io net
jade-mbp:root jade$ pwd
/Users/jade/root
jade-mbp:root jade$ source bin/thisroot.sh
jade-mbp:tree jade$ which root
/Users/jade/root/bin/root
jade-mbp:root jade$ echo $ROOTSYS
/Users/jade/root
jade-mbp:root jade$ cd $ROOTSYS/tutorials/tree
jade-mbp:tree jade$ ls
JetEvent.cxx copytree2.C parallelcoordtrans.C
JetEvent.h copytree3.C printSizes.C
basic.C drawsparse.C spider.C
basic.dat h1analysis.C staff.C
basic2.C h1analysis.h tcl.C
bill.C h1analysisProxy.C tree.C
cernbuild.C h1analysisProxy.h tree0.C
cernstaff.C h1analysisProxyCut.C tree1.C
cernstaff.dat h1chain.C tree2.C
cernstaff.root hsimpleProxy.C tree2a.C
circular.C htest.C tree3.C
clonesA_Event.C hvector.C tree4.C
clonesA_Event.cxx jets.C treefriend.C
clonesA_Event.h ntuple1.C tv3.C
copytree.C parallelcoord.C tvdemo.C
jade-mbp:tree jade$ which root
/Users/jade/root/bin/root
jade-mbp:tree jade$ root


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/10 29 August 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/10 (heads/v5-34-00-patches@v5-34-10-209-gacffe1f, Oct 26 2013, 13:43:49 on macosx64)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x cernbuild.C


*Tree :T : CERN 1988 staff data *
*Entries : 3354 : Total = 176207 bytes File Size = 15005 *

  •    :          : Tree compression factor =   2.74                       *
    

*Br 0 :Category : Category/I *
*Entries : 3354 : Total Size= 14062 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 1 :Flag : Flag/i *
*Entries : 3354 : Total Size= 14038 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 2 :Age : Age/I *
*Entries : 3354 : Total Size= 14032 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 3 :Service : Service/I *
*Entries : 3354 : Total Size= 14056 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 4 :Children : Children/I *
*Entries : 3354 : Total Size= 14062 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 5 :Grade : Grade/I *
*Entries : 3354 : Total Size= 14044 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 6 :Step : Step/I *
*Entries : 3354 : Total Size= 14038 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 7 :Hrweek : Hrweek/I *
*Entries : 3354 : Total Size= 14050 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 8 :Cost : Cost/I *
*Entries : 3354 : Total Size= 14038 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 9 :Division : Division/C *
*Entries : 3354 : Total Size= 25315 bytes File Size = 8325 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 2.49 *

*Br 10 :Nation : Nation/C *
*Entries : 3354 : Total Size= 24198 bytes File Size = 6680 *
Baskets : 1 : Basket Size= 32000 bytes Compression= 3.05 *

(class TFile
)0x0
root [1] .q
jade-mbp:tree jade$ ls -l *.root
-rw-r–r-- 1 jade staff 52146 Oct 26 16:01 cernstaff.root
jade-mbp:tree jade$ root


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/10 29 August 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/10 (heads/v5-34-00-patches@v5-34-10-209-gacffe1f, Oct 26 2013, 13:43:49 on macosx64)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] TFile f(“cernstaff.root”)
root [1] f.ls()
TFile** cernstaff.root
TFile* cernstaff.root
KEY: TTree T;1 CERN 1988 staff data
root [2] T->StartViewer()

*** Break *** segmentation violation

Thread 1 (Thread 0x1503 of process 726):
#0 0x00007fff85ea6e3a in ?? ()
#1 0x00007fff8dfb9130 in ?? ()
#2 0x00007fff8dfc38b1 in ?? ()
#3 0x00007fff8dfc38b4 in ?? ()
#4 0x00007f8914fb99a0 in ?? ()
#5 0x0000000000000000 in ?? ()
Root >
[/code]
So what I’ve demonstrated above is that I source the correct root version (newly built one), verified that the ROOTSYS environment variable was setup correctly. Used the tutorial cernbuild.C code to generate a simple tree file cernstaff.root. Restarted root, having verified that the root file was created and then attempted to load it (which seems to load fine). Then tried to start the viewer, which then crashes.

Now I tried other commands (having reloaded the the root file again) and some of the simple commands works, but once I tried to spawn the StartViewer(), it crashes:

[code]jade-mbp:tree jade$ ls *.root
cernstaff.root
jade-mbp:tree jade$ root


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/10 29 August 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/10 (heads/v5-34-00-patches@v5-34-10-209-gacffe1f, Oct 26 2013, 13:43:49 on macosx64)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] TFile f(“cernstaff.root”)
root [1] f.ls()
TFile** cernstaff.root
TFile* cernstaff.root
KEY: TTree T;1 CERN 1988 staff data
root [2] T->Show(10)
======> EVENT:10
Category = 361
Flag = 15
Age = 51
Service = 29
Children = 0
Grade = 7
Step = 13
Hrweek = 40
Cost = 7599
Division = PS
Nation = FR
root [3] T->Print()


*Tree :T : CERN 1988 staff data *
*Entries : 3354 : Total = 338757 bytes File Size = 47247 *

  •    :          : Tree compression factor =   3.69                       *
    

*Br 0 :Category : Category/I *
*Entries : 3354 : Total Size= 27550 bytes File Size = 4919 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 2.74 *

*Br 1 :Flag : Flag/i *
*Entries : 3354 : Total Size= 27522 bytes File Size = 2165 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 6.23 *

*Br 2 :Age : Age/I *
*Entries : 3354 : Total Size= 27515 bytes File Size = 3489 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 3.86 *

*Br 3 :Service : Service/I *
*Entries : 3354 : Total Size= 27543 bytes File Size = 2214 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 6.09 *

*Br 4 :Children : Children/I *
*Entries : 3354 : Total Size= 27550 bytes File Size = 2110 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 6.39 *

*Br 5 :Grade : Grade/I *
*Entries : 3354 : Total Size= 27529 bytes File Size = 2676 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 5.04 *

*Br 6 :Step : Step/I *
*Entries : 3354 : Total Size= 27522 bytes File Size = 2889 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 4.67 *

*Br 7 :Hrweek : Hrweek/I *
*Entries : 3354 : Total Size= 27536 bytes File Size = 642 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 21.01 *

*Br 8 :Cost : Cost/I *
*Entries : 3354 : Total Size= 27522 bytes File Size = 6939 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 1.94 *

*Br 9 :Division : Division/C *
*Entries : 3354 : Total Size= 46046 bytes File Size = 10048 *
*Baskets : 2 : Basket Size= 32000 bytes Compression= 2.46 *

*Br 10 :Nation : Nation/C *
*Entries : 3354 : Total Size= 44593 bytes File Size = 7928 *
*Baskets : 2 : Basket Size= 32000 bytes Compression= 2.98 *

root [4] T->Scan(“Cost:Age:Children”)


  • Row * Cost * Age * Children *

  •    0 *     11975 *        58 *         0 *
    
  •    1 *     10228 *        63 *         0 *
    
  •    2 *     10730 *        56 *         2 *
    
  •    3 *      9311 *        61 *         0 *
    
  •    4 *      9966 *        52 *         2 *
    
  •    5 *      7599 *        60 *         0 *
    
  •    6 *      9868 *        53 *         1 *
    
  •    7 *      8012 *        60 *         1 *
    
  •    8 *      8813 *        51 *         0 *
    
  •    9 *      7850 *        56 *         1 *
    
  •   10 *      7599 *        51 *         0 *
    
  •   11 *      9315 *        54 *         2 *
    
  •   12 *      7599 *        54 *         0 *
    
  •   13 *      7892 *        46 *         0 *
    
  •   14 *      7850 *        54 *         1 *
    
  •   15 *      7599 *        57 *         0 *
    
  •   16 *      8137 *        55 *         0 *
    
  •   17 *      7850 *        55 *         1 *
    
  •   18 *      7294 *        57 *         1 *
    
  •   19 *      8101 *        51 *         2 *
    
  •   20 *      5720 *        54 *         0 *
    
  •   21 *     15832 *        57 *         1 *
    
  •   22 *     12226 *        63 *         1 *
    
  •   23 *     13135 *        56 *         0 *
    
  •   24 *      9617 *        49 *         0 *
    

Type to continue or q to quit ==> q


(Long64_t)25
root [5] T->StartViewer()

*** Break *** segmentation violation

Thread 1 (Thread 0x1503 of process 776):
#0 0x00007fff85ea6e3a in ?? ()
#1 0x00007fff8dfb9130 in ?? ()
#2 0x00007fff8dfc38b1 in ?? ()
#3 0x00007fff8dfc38b4 in ?? ()
#4 0x00007f852ab3bf00 in ?? ()
#5 0x0000000000000000 in ?? ()
Root >
[/code]

I’m having similar issues with my existing root files and scripts that attempts to read root files to process. But having used a simple tutorial file from the root source, demonstrates that this problem is not from my root files and my scripts. Could someone help? Thanks!

I’m not able to reproduce the problem you described using cernstaff tutorial. It works for me and tree viewer starts without any problems. Probably, more information/more specific example required.

I’m not sure what else to offer other than the simple example I’ve demonstrated (my other root trees are more complicated). I figured if I can reproduced the problem with a simple script, it’d be the best way to troubleshoot. Let me be specific on which compiler, etc was used as noted in the config.log when I built root from source:

Invoked on jade-mbp.home
with Darwin jade-mbp.home 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
at Sat Oct 26 13:43:07 EDT 2013:
./configure
arch=darwin
chip=x86_64
rele=13.0.0
macosx64

This is the clang++ version used:

Jade-MacBook-Pro:tree jade$ clang++ --version
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

So are you sure you had the same setup?
Also when your ran cernbuild.C, after generating the root file, you exited root and tried to reload the root file and spawned StartViewer()?

If so, I don’t know what other information to offer, since cernbuild.C was the simplest example of TTree to show something was wrong. Do you have a script that I could run in root that might be able to do some diagnostic that could help trouble-shoot the problem? Like when it crashed in root, could I run some command that may show the stack trace of the crash, etc? I’m not that familiar with any other root commandlines that would help debugging a crash.

I could look for another tutorial file that generates a tree and see if it crashes, I suppose. But so far with my root trees and the simple cernbuild.C all of them are crashing.

[quote=“jade2”]Let me be specific on which compiler, etc was used as noted in the config.log when I built root from source:

Invoked on jade-mbp.home
with Darwin jade-mbp.home 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
at Sat Oct 26 13:43:07 EDT 2013:
./configure
arch=darwin
chip=x86_64
rele=13.0.0
macosx64

This is the clang++ version used:

Jade-MacBook-Pro:tree jade$ clang++ --version
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

So are you sure you had the same setup?
[/quote]

Yes, I have the same.

Yes, exactly.

I suggest you use debug build of ROOT: when configuring use --build=debug flag and after ROOT built - run it under debugger, so at least you’ll have more reasonable stack trace, not this:

OK, I reconfig/rebuilt root (see attached configLog.txt). I wasn’t sure how to debug root with gdb since it requires me to interact with the very thing I was debugging and gdb doesn’t have such a feature. So I attempted with emacs since it offers me to have various buffers, one being that I can interact with root and the other the debugger prompt. I opened an empty emacs file and just started the debugger, to load up the root executable (/Users/jade/root/bin/root). So at the gdb prompt, I started the run and I see root starting up in another buffer window. This is what I did at the root buffer window:

[code] *******************************************

  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/10 29 August 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/10 (heads/v5-34-00-patches@v5-34-10-209-gacffe1f, Oct 29 2013, 23:34:42 on macosx64)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] TFile f("/Users/jade/root/tutorials/tree/cernstaff.root")
TFilTFile f("/Users/jade/root/tutorials/tree/cernstaff.root"("/Users/jade/root/tutorials/tree/cernstaff.root")
root [1] f.ls()
f.ls(()
TFile** /Users/jade/root/tutorials/tree/cernstaff.root
TFile* /Users/jade/root/tutorials/tree/cernstaff.root
KEY: TTree T;1 CERN 1988 staff data
root [2] T->StartViewer()
T->StartViewer(()

*** Break *** segmentation violation

Thread 1 (Thread 0x1603 of process 18254):
#0 0x00007fff8b4dbe3a in ?? ()
#1 0x00007fff935ee130 in ?? ()
#2 0x00007fff935f88b1 in ?? ()
#3 0x00007fff935f88b4 in ?? ()
#4 0x0000000105c53710 in ?? ()
#5 0x0000000000000000 in ?? ()
Root > [/code]

Do you notice that the printouts after each command was executed, seems rather corrupted?

At the debugger window buffer, right after root crashed, I typed “bt” to see the backtrace:

code run
Starting program: /Users/jade/root/bin/root

Program received signal SIGUSR1, User defined signal 1.
0x00007fff8b4db9aa in ?? ()
(gdb) bt
#0 0x00007fff8b4db9aa in ?? ()
#1 0x0000000100003d1c in Sleep (milliSec=100) at /Users/jade/root/rootx/src/rootxx.cxx:127
#2 0x000000010000397f in WaitLogo () at /Users/jade/root/rootx/src/rootxx.cxx:455
#3 0x0000000100001a56 in main (argc=1, argv=0x7fff5fbff9a8) at /Users/jade/root/rootx/src/rootx.cxx:495
(gdb) thread
[Current thread is 1 (Thread 0x150f of process 18252)]
(gdb) thread 2
Thread ID 2 not known.
(gdb) thread 3
Thread ID 3 not known.
(gdb) Thread 0x1603
Thread ID 5635 not known.
[/code]

I’m not sure if this is helpful. I’m guessing there are several threads involved, but it looks like this is just main, which I doubt is the thread that’s crashing. I tried to access the same thread that was shown at the root crash, but I’m not sure how to find that thread; it seems to be a different process number. If you know of any useful command, please let me know (e.g. like the command to go to the right process ID that crashed and do a backtrace?). Thanks!
configLog.txt (185 KB)

No, unfortunately this is not helpful at all. Can you start ‘root.exe’ instead of ‘root’? (avoiding this WaitLogo thing etc.).

OK, ran the root.exe instead and did this in the root window:

[code] *******************************************

  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/10 29 August 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/10 (heads/v5-34-00-patches@v5-34-10-209-gacffe1f, Oct 29 2013, 23:34:42 on macosx64)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] TFile f("/Users/jade/root/tutorials/tree/cernstaff.root")
TFilTFile f("/Users/jade/root/tutorials/tree/cernstaff.root"("/Users/jade/root/tutorials/tree/cernstaff.root")
root [1] f.ls()
f.ls(()
TFile** /Users/jade/root/tutorials/tree/cernstaff.root
TFile* /Users/jade/root/tutorials/tree/cernstaff.root
KEY: TTree T;1 CERN 1988 staff data
root [2] T->StartViewer()
T->StartViewer(()[/code]

At this point the viewer looks like it’s hanging but the debugger window notes a segfault by the time the viewer hangs:

code run
Starting program: /Users/jade/root/bin/root.exe

Program received signal SIGSEGV, Segmentation fault.
0x00000001071801fc in ?? ()
(gdb) where
#0 0x00000001071801fc in ?? ()
#1 0x00007fff5fbdd6a0 in ?? ()
#2 0x0000000107172180 in ?? ()
#3 0x00007fff5fbdd690 in ?? ()
#4 0x0000000101f8ee80 in ?? ()
#5 0x000000000000001d in ?? ()
#6 0x0000000107ce33e0 in ?? ()
#7 0x00007fff5fbdd6f0 in ?? ()
#8 0x00007fff5fbdd6f0 in ?? ()
#9 0x0000000000000000 in ?? ()
(gdb) bt
#0 0x00000001071801fc in ?? ()
#1 0x00007fff5fbdd6a0 in ?? ()
#2 0x0000000107172180 in ?? ()
#3 0x00007fff5fbdd690 in ?? ()
#4 0x0000000101f8ee80 in ?? ()
#5 0x000000000000001d in ?? ()
#6 0x0000000107ce33e0 in ?? ()
#7 0x00007fff5fbdd6f0 in ?? ()
#8 0x00007fff5fbdd6f0 in ?? ()
#9 0x0000000000000000 in ?? ()
(gdb) thread
[Current thread is 1 (Thread 0x1403 of process 332)]
[/code]
But it doesn’t look like it’s giving me any useful information. It is a debug version, but I’m not sure why it’s not showing the stack that’s readable.

Well yes, it’s all not really helpful, I’m afraid. Is it only tree-viewer that crashes or can you do something else to have this crash? Does TCanvas/TBrowser work? Can you try some other tutorials?

Sorry for the late reply. I thought maybe because I didn’t update my macport after the upgrade, something might not have been correct in my environment after the OS X 10.9 upgrade. So I attempted to reinstall the latest macport and reinstall all I’ve ‘port installed’ in the past. I thought maybe if I did that and rebuild root, it might fix it. But it did not. So going back to other tutorial scripts that are segfaulting:

root/tutorials/hist/exec1.C
root/tutorials/hist/exec2.C
root/tutorials/hist/ContourList.C
root/tutorials/hist/th2polyEurope.C

Unfortunately as before, none of them shows any useful backtrace. Just notes that it segfaulted. root/tutorials/tree/parallelcoord.C seems to give a little more detail when it crashed:

[code]CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x parallelcoord.C
Error in TGHScrollBar::TGHScrollBar: arrow_.xpm not found
Error in TGVScrollBar::TGVScrollBar: arrow_
.xpm not found

*** Break *** segmentation violation
Root > Function parallelcoord() busy flag cleared

root [1] .q
Error: Symbol gClient is not defined in current scope parallelcoord.C:68:
Error: Failed to evaluate gClient->GetWindowById(6291571)
*** Interpreter error recovered ***
Error in : BadWindow (invalid Window parameter) (XID: 6291571, XREQ: 2)

root [1]

*** Break *** segmentation violation
Root > .q
[/code]

This one (root/tutorials/mlp/mlpHiggs.C) also had similar problems:

[code]CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x mlpHiggs.C
Info in TMultiLayerPerceptron::Train: Using 979 train and 979 test entries.
Training the Neural Network
Epoch: 0 learn=0.126213 test=0.125216
Epoch: 10 learn=0.0932036 test=0.0893201
Epoch: 20 learn=0.0911172 test=0.0883968
Epoch: 30 learn=0.0903424 test=0.0881409
Epoch: 40 learn=0.0899479 test=0.0876782
Epoch: 50 learn=0.0897721 test=0.0871525
Epoch: 60 learn=0.0895975 test=0.0868212
Epoch: 70 learn=0.0893264 test=0.0864056
Epoch: 80 learn=0.0890831 test=0.085844
Epoch: 90 learn=0.0890014 test=0.0856978
Epoch: 99 learn=0.0888568 test=0.0857045
Training done.
test.py created.
Error in TGHScrollBar::TGHScrollBar: arrow_.xpm not found
Error in TGVScrollBar::TGVScrollBar: arrow_
.xpm not found

*** Break *** segmentation violation
Root > Function mlpHiggs() busy flag cleared

root [1] .q
[/code]

But these seem to have worked fine:
root/tutorials/hist/th2polyHoneycomb.C
root/tutorials/hist/th2polyBoxes.C
root/tutorials/hist/th2polyUSA.C

The temporary solution for libAfterImage/configuration bug (and xpm files “not found”) is described here

It’s interesting to know if it helps with other tutorials and treeviewer.

[quote=“tpochep”]The temporary solution for libAfterImage/configuration bug (and xpm files “not found”) is described here


[/quote]

OK, I looked at the link you referred to and it noted:

So I looked at that header, but the only place where this X_DISPLAY_MISSING is define is here but set to a different value:

/* Define to 1 if the X Window System is missing or not being used. */ #define X_DISPLAY_MISSING 1

Should I just comment that out as suggested in that link and rebuild?

[quote]
So I looked at that header, but the only place where this X_DISPLAY_MISSING is define is here but set to a different value:

/* Define to 1 if the X Window System is missing or not being used. */ #define X_DISPLAY_MISSING 1

Should I just comment that out as suggested in that link and rebuild?[/quote]

Yes, exactly. Try to comment it out and recompile.

BTW I did not notice it was defined as 0 in the previous topic - I think I understand this looooooong standing libAfterImage bug now (or at least a part of what is wrong) - libAfterImage has a lot of code like this:

#ifndef X_DISPLAY_MISSING .... something X11-dependent #else .... return 0 instead of ximage from xpm file, for example. #endif

The problem is that #define X_DISPLAY_MISSING 0 … still means the ‘ifndef’ part of the example above skipped by pre-processing phase; #define something 0 means … something is defined.

Yup, that did it! I can now view my trees! =D> Now the other tutorial scripts I mentioned are no longer crashing, except root/tutorials/hist/exec*.C — those two are still crashing with this fix. But I don’t know if those two have worked before (never ran it until recently). I’m guessing that might be some other bug. But at least for this post, my concern was my ability to view trees and run my scripts that reads those trees and so far that part is working. Thanks for your help! I take it that this fix will be moved into the repository soon?

BTW in your installation instructions here, you should point out that when checking code out via git, there should be an addition to do ‘git checkout -t origin/v5-34-00-patches’. Otherwise, it’s not going to build on some platforms.