Run make after building STARlight

I found the error which run make but I can’t fix that.
Screenshot 2022-11-12 141541
Screenshot 2022-11-12 141807
Screenshot 2022-11-12 141825

Please, I need help.

Hello, i think you should use
To understand how to use/compile get help on the Starlight package.

Just in case , apparently the web documentazione Is not so good
Probably navigating source code you get the manual of the application.
This the link i found

Seems to contains useful information to use this application

Hi @Anas_Alaali,

This is not a ROOT problem, just for your information.

But I think in this case the solution is straight forward: the starlight code doesn’t compile anymore with modern compilers because implicitly-declared copy-constructors are deprecated.

You just need to change the starlight source code to declare these copy constructors for lorentzVector and upcEvent explicitly.

That means, to include/vector3.h you need to add this to the public scope:

      vector3(const vector3& vec)
        for (unsigned int i = 0; i < 3; ++i) {
          _vec[i] = vec._vec[i];

And to include/upcevent.h, you should add this in the public scope:

      upcEvent(const upcEvent& rhs) = default;

If I do these changes to the starlight source code, it compiles for me!

I hope this helps, and please don’t open any more spam GitHub issues in the ROOT repository.


Another very easy way to “fix” the source code:
sed -i -e '{s/-Werror/-Werror -Wno-error=deprecated-copy/}' CMakeLists.txt
sed -i -e '{s/register //}' src/randomgenerator.cpp

1 Like