Error when running any Event Display tutorial/program on OSX

Hi All,

I have encountered an error when attempting to run any macro that calls ROOT’s event display functions.

As an example if I try to run $ROOTSYS/tutorials/eve/box.C

root [1] xp_import_surface: assertion failed: s == NULL
error: xp_import_surface returned: 2
xp_destroy_surface: assertion failed: s != NULL
xp_destroy_surface error: 3

 *** Break *** segmentation violation
[/usr/lib/system/libsystem_platform.dylib] _sigtramp (no debug info)
[/usr/lib/dyld] dyld::gLinkContext (no debug info)
[/opt/X11/lib/libGL.1.dylib] glXSwapBuffers (no debug info)
[~/packages/root.build/lib/libRGL.so] TGLViewer::DoDraw(bool) 
~/packages/root/graf3d/gl/src/TGLViewer.cxx:603
...

I do not encounter any errors when opening a TBrowser or any other graphical interface, it appears only with the ROOT event display. But this error does appear with every macro or stand alone program I have tried that calls TEveManager::Create(). I am thinking that this has to do with interfacing ROOT with XQuartz (v2.7.11) on my Mac. I have compiled ROOT with builtin_glew ON, cocoa OFF, and x11 ON.

I have been unable to compile ROOT with cocoa ON for the past few versions of ROOT so I have been defaulting to X11.

Are there any suggestions from the ROOT experts? Should I try a different X server? Or maybe try and figure out how to compile with cocoa?

Any help is appreciated! Thanks!


Please read tips for efficient and successful posting and posting code

ROOT Version: 6.16/00
_Platform:_Mac OSX 10.14.6
Compiler: Apple clang version 11.0.0 (clang-1100.0.33.8)


As it is an eve example I think @matevz can help you.

Hi,

I really don’t know what to tell you, I haven’t tried building ROOT on OSX in a long time. I see there were other projects hit with this issue and claim it’s due to some changes in OSX.

Does the same thing happen if you download a binary distribution from ROOT https://root.cern.ch/content/release-61804

What is giving you trouble with the Cocoa build? I guess this should work better.

Cheers,
Matevz

Hi All,

Thanks for looking into it. I also saw that other projects are encountering this problem with X11 and OSX, and there is apparently no solution. I would anticipate problems from anyone attempting to build ROOT on a mac with Xquartz in the future, but that is no longer my problem.

I was able to get ROOT to compile using cocoa! I had been having an issue for a while where I would see the error:

~/packages/root/rootx/src/rootxx-cocoa.mm:29:
In file included from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12:
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In file included from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:43:
In file included from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:72:
/usr/local/include/Block.h:139:2: error: unknown type name 'LEN'
        LEN blkchunk;   /* allocation chunk size */
...

Followed by several other “unknown type name” errors. By searching around I found out this is likely from OSX updating improperly from one version to another, and not removing header files that are now unused.

The solution is to delete /usr/local/include/Block.h, or if you are paranoid you can rename it to Block.old as I did. This solved the compilation error.

I can now use the Event Display without any errors! Sorry for bothering you all, but I hope this post helps people in a similar situation in the future!

Yay, thanks, good catch! :slight_smile:

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