ROOT 6.22.02 and pyROOT GUI

Dear ROOT developers,

Were you able to fix the deeply broken default pyROOT (GUI not working) in ROOT 6.22.02? Reading the release notes I am not certain…

Hi,

I regret to say that not yet, but the underlying issue that breaks the GUI just became a blocker for another reason:
https://sft.its.cern.ch/jira/browse/ROOT-10872

so it is very likely it will be fixed soon. We count on having this fix in for the LCG release LCG_98a.

I see. Would you consider adding a warning for the 6.22.0 and 6.22.02 versions on the root main page? A small thing, but I guess it could save some people some trouble. Perhaps you could also consider adding a separate pyroot package to linuxes’ repositories? Something like python2/3-root-legacy? I compile ROOT myself, so I don’t have experience here, but I understand that now it would be a hassle to get a working version of ROOT on, for example, Fedora, and the working versions might have been updated automatically to the new version.

Hi,

We usually include known issues in the release notes, and we did that with this one in particular:
https://root.cern/doc/v622/release-notes.html

It is also mentioned in the PyROOT section of backwards incompatible changes (this one is temporary, though):

Regarding your proposal of packaging the old PyROOT too, it also depends on the package maintainers, but I will consider it if this issue takes even longer to be fixed (but that should not be the case). In general, I would prefer to promote the use of the new PyROOT, even if it has some issues at the beginning, and we’ll push on our side so those issues are fixed.

The quite possible scenario now is that someone:

  1. Has a working pyROOT program
  2. Downloads, as usual, the new ROOT, perhaps not going through the list of changes for (I think) until now no major changes were happening without a major version change and/or announcement on the main page
  3. Spends ~30 minute on compilation
  4. Spends who knows how much time trying to figure out why the software that was flawlessly until now doesn’t anymore
  5. And now only 3 minutes for reverting to the previous ROOT version in the case of previous version being backed up. If not, ~30 minutes of compilation of the new version with legacy pyroot

For people using ROOT from a linux repository it may take days to be able to find and reinstall older version, or learn how to compile themselves. Here information on the main web page would not help much. In the previous case it would, a lot. I read through the release notices and I didn’t notice the incompatibility of 6.20.00 until I compiled. Perhaps I am just a special case.

And I understand promoting the use of the new pyROOT, but it is not that it just has “some issues” at the beginning. It is completely broken for GUI apps, without any workaround proposed. It is like replacing a TTree with a new version, that does not work with doubles. I understand that the size of the impacted community is very different, but I am just trying to convince you to announce the incompatiblity in a clear and visible way, nothing more (even though personally I am surprised that you keep pushing out versions of ROOT that are broken).

We’ll get it fixed real soon ()this week?), which means what we should announce is the release that’s fixing it.

That said, we heard you (and others) and will make sure we focus our work better in the future. With ROOT’s many, many features it’s often really hard to predict - even for us! - what “common feature combinations” actually are. That’s not an excuse of keeping it broken for so long (that’s actually my fault), but maybe for not realizing the significance of this before the release.

I’m working on the fix as we type.

Cheers, Axel.

Thanks. While what I wrote might have sounded a little bit bitter, it partially comes from apprieciation, since I’ve been using ROOT for… hmm maybe even more than 15 years :slight_smile: I am waiting for the next release.

1 Like

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

Just an update: part 1 is done https://github.com/root-project/root/pull/6277 - but there’s a second part I need to tackle. Should be faster than the first part :frowning:

1 Like

Part 2 is now in, too (phew).

@etejedor IIUC this is now solved in ROOT’s master?

Yes, it is solved.

See the test for the inheritance of TGMainFrame:

extracted from one of the GUI tutorials.