Root 5.34 with High Sierra?

Is there a problem running Root 5.34 with High Sierra? I thought that things were going okay, until I wrote a very simple script, then I get a crash and error messages starting with:

dlopen error: dlopen(/usr/local/root/lib/libRIO.so, 9): can’t resolve symbol __ZTVN10__cxxabiv117__class_type_infoE in /usr/local/root/lib/libThread.so because dependent dylib #3 could not be loaded in /usr/local/root/lib/libThread.so

I did the usual “Xcode-select --install”, but it didn’t fix the problem. I recompiled my Root 5.34. Compilation successful, problem remains. My Root 6 version works fine, but I do need to keep a running 5.34 version for older programs.

There is a post with a similar problem (TBrowser Fails to Open), but the thread was closed without a resolution for Root 5.34. Suggestions?

Thanks in advance. Fred.

It looks like the problem comes from the I/O, so maybe @pcanal could help…

Actually the simplest reproducer is:

root [0] gSystem->Load("LibRIO.so");
dlopen error: dlopen(/Users/couet/git/root534-cocoa-bin/lib/LibRIO.so, 9): can't resolve symbol __ZTVN10__cxxabiv117__class_type_infoE in /Users/couet/git/root534-cocoa-bin/lib/libThread.so because dependent dylib #3 could not be loaded in /Users/couet/git/root534-cocoa-bin/lib/libThread.so
Load Error: Failed to load Dynamic link library /Users/couet/git/root534-cocoa-bin/lib/LibRIO.so

I found this on a MacPort discussion re: Root 5.34 and High Sierra:
https://trac.macports.org/ticket/54999

Are the ROOT devs phasing out support for Root 5.34, i.e. the issue I reported with High Sierra will likely not be addressed? (That’s fine of course, one cannot be everywhere… just would like to know).

Thanks,

Fred

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

I investigated a bit more the problem with 5.34. It seems that if I rebuild ROOT using root-config from the directory where main.cxx is (typically $ROOTSYS/main/src), then I get a working module:

$ g++ `root-config --cflags` -o rootnew rmain.cxx `root-config --glibs`
$ ./rootnew
  *******************************************
  *                                         *
  *        W E L C O M E  to  R O O T       *
  *                                         *
  *   Version   5.34/37      6 April 2016   *
  *                                         *
  *  You are welcome to visit our Web site  *
  *          http://root.cern.ch            *
  *                                         *
  *******************************************

ROOT 5.34/37 (heads/v5-34-00-patches@v5-34-36-1-g4008982, Jan 17 2018, 10:30:00 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] gSystem->Load("libRIO.so")
(int)1
root [1] 

Another possibility is to change in $ROOTSYS/main/CMakeLists.txt

The line:

ROOT_EXECUTABLE(root.exe rmain.cxx LIBRARIES Core Cint MathCore Rint)

by:

ROOT_EXECUTABLE(root.exe rmain.cxx LIBRARIES Core Cint MathCore Rint RIO)
1 Like