Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eve not working with FairSoft jan24p3 on OSX 14.4.1 and 14.6.1 #553

Open
TobiasStockmanns opened this issue Sep 2, 2024 · 15 comments
Open
Labels

Comments

@TobiasStockmanns
Copy link

The problem arises after recompiling FairSoft jan24p3 on OSX 14.4.1. The eventdisplay in PandaRoot starts and shows the browser and the windows but no content in the windows.

Things done to check:

  • update of OSX to 14.6.1
  • update of XCode to 15.4
  • test of eve tutorials with root 6.30/08 from FairSoft

What to do to reproduce the problem:

  • run any macro in root/tutorials/eve
@fuhlig1
Copy link
Member

fuhlig1 commented Sep 3, 2024

@TobiasStockmanns,

I can confirm your problem.
I see the same effect on my Mac also using OSX 14.6.1.
The version of the command line tools is 15.3.
The processor is a Apple M1 Max

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 3, 2024

@TobiasStockmanns,

I now checked also on an older mac mini with an Intel Core i5.
The OSX version is also 14.6.1.
The version of the command line tools is again 15.3.

@TobiasStockmanns
Copy link
Author

I tested the root/tutorials/eve macros with root 6.32.04. There most of them work.

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 5, 2024

@TobiasStockmanns,

thanks for the information. I went through the release notes but couldn't find any hint that something was chaged concerning OpenGl and/or Eve.
Did you test also the FairRoot event display?

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 10, 2024

@TobiasStockmanns,

which of the macros work for you? I tried two and both did not work.
How did you install ROOT? Did you pass any CMAKE parameters for the configuration?

@TobiasStockmanns
Copy link
Author

I used brew to install root (6.32.04). The macros working are from the FairSoft installation in /Build/root/tutorials/eve.
There I tested a couple of them (not all are working) like jetcone.C, track.C, boxset.C and a more complex alice_esd.C.

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 10, 2024

@TobiasStockmanns,

I will try to use also the one from brew to check if this works. If so I expect that the underlying problem are some configuration parameters.

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 25, 2024

@TobiasStockmanns,

meanwhile I managed to install root via brew which as drawback needs a full XCode installation. The current version is even 6.32.06 and at it looks like the OpenGL works. I opened an existing file with the CBM geometry and could view the geometry with the OpenGL viewer without problems. Also the executing macros from the Eve tutorials, e.g. tutorial/eve/box worked.

Compiling the same ROOT version from sources resulted again in the reported problem. For the CBM geometry the geometry is drawn but no interaction is possible. Executing the box.C macro ends up in a black screen with the warning

Warning in <TGLLogicalShape::Draw>: display-list registration failed.

Installing the brew version of root from source

brew install -s root

also does not end in a working OpenGl environment. One has again a broken OpenGL environment.

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 25, 2024

I have created any issue in the root project (root-project/root#16523)

@fuhlig1
Copy link
Member

fuhlig1 commented Sep 27, 2024

@TobiasStockmanns,

the underlying problem was found. ROOT doesn't picked up the system implementation of OpenGL when another one was installed in the search path. In our case we install the brew packages mesa and mesa-glu which where used instead.
It is still not clear if the problem was introduced by a change in ROOT or XCode/Command Line Tools, this is something I still want to test.

Anyway there is a fix for ROOT which will probably be in the next releases. For the time being we will patch ROOT when building FairSoft.

Could you please check if the branch fix_opengl_macosx from https://github.com/fuhlig1/fairsoft fixes your issue. I will include the fix to FairSoft when I get your confirmation.

@TobiasStockmanns
Copy link
Author

@fuhlig1
I tried to install your bug fix, but the installation stops with an error:

Undefined symbols for architecture arm64:
  "ROOT::Experimental::REveElement::WriteCoreJson(nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char>>>&, int)", referenced from:
      /Users/tstockmanns/PandaSoftware/FairSoft/fixOpenGLIssue/build/Build/root/graf3d/eve7/CMakeFiles/G__ROOTEve.dir/G__ROOTEve.cxx.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [lib/libROOTEve.6.30.08.so] Error 1
make[4]: *** [graf3d/eve7/CMakeFiles/ROOTEve.dir/all] Error 2
make[3]: *** [all] Error 2

Looking into the compilation logs shows many errors with:

[ 53%] Generating G__RooFitJSONInterface.cxx, ../../lib/libRooFitJSONInterface_rdict.pcm, ../../lib/libRooFitJSONInterface.rootmap
Error in <UnknownClass::ReadGitInfo()>: Cannot determine git info: etc/gitinfo.txt not found!
[ 53%] Building CXX object roofit/jsoninterface/CMakeFiles/G__RooFitJSONInterface.dir/G__RooFitJSONInterface.cxx.o

@fuhlig1
Copy link
Member

fuhlig1 commented Oct 1, 2024

@TobiasStockmanns,

in one of the attempts I think I have seen the same issue. For whatever reason the problem never appeared again. I will try to find out what the problem is.

@fuhlig1
Copy link
Member

fuhlig1 commented Oct 1, 2024

@TobiasStockmanns,

could it be that you have the brew package nlohmann-json installed?

@fuhlig1
Copy link
Member

fuhlig1 commented Oct 1, 2024

@TobiasStockmanns,

meanwhile I cross-checked the issue and the problem is the brew installation of the nlohmann-json package which interferes with the builtin version from ROOT. So either deinstall the brew package or change the following line in cmake/legacy.cmake

"-Dbuiltin_nlohmannjson=ON" -> "-Dbuiltin_nlohmannjson=OFF"

I still have to find a proper solution to fix the problem reliable.

@fuhlig1
Copy link
Member

fuhlig1 commented Oct 1, 2024

@TobiasStockmanns,

please test the updated version in my branch. This should fix your problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants