Updating Fedora 38 to 39 breaks octave-8.3.0 (precompiled from Fedora) and octave-8.4.0(compiled from source). When I run $ /usr/bin/octave --gui (octave-gui:1632543): Gtk-WARNING **: 18:58:40.527: Theme parsing error: <data>:1:0: Expected a valid selector and the window hangs. Reproducible: Always Steps to Reproduce: 1./usr/bin/octave --gui 2. 3. Actual Results: octave window is unresponsive Expected Results: Show octave console See attached stack trace.
Created attachment 1999367 [details] Stack trace for octave-8.3.0
Fixed by downloading qt5-qtbase-5.15.11-3.fc39.src.rpm --- SOURCES/0014-QGtk3Theme-Improve-fixed-font-delivery.patch.orig 2023-10-16 11:00:00.000000000 +1100 +++ SOURCES/0014-QGtk3Theme-Improve-fixed-font-delivery.patch 2023-10-16 11:00:00.000000000 +1100 @@ -54,7 +54,7 @@ + GtkCssProvider *cssProvider = nullptr; + if (type == QPlatformTheme::FixedFont) { + cssProvider = gtk_css_provider_new(); -+ const char *fontSpec = "{font-family: monospace;}"; ++ const char *fontSpec = "* {font-family: monospace;}"; + gtk_css_provider_load_from_data(cssProvider, fontSpec, -1, NULL); + gtk_style_context_add_provider(con, GTK_STYLE_PROVIDER(cssProvider), + GTK_STYLE_PROVIDER_PRIORITY_USER); as per https://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platformthemes/gtk3/qgtk3interface.cpp and rebuilding.
Hmm. Well, rawhide has 8.4.0 already... if we have to rebuild anyway, might as well bite the bullet and upgrade?
Building 8.4.0 for fc39 now at https://koji.fedoraproject.org/koji/taskinfo?taskID=109076812
Just pointing out that it seems to me that this is actually not a bug in octave-8.3.0 but that it is a bug in qt5-qtbase-5.15.11-3.fc39.src.rpm. Changing the component field to that.
FEDORA-2023-289ef7a458 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-289ef7a458
(In reply to R Jenssen from comment #5) > Just pointing out that it seems to me that this is actually not a bug in > octave-8.3.0 but that it is a bug in qt5-qtbase-5.15.11-3.fc39.src.rpm. > Changing the component field to that. Oh, perhaps I misunderstood your comment #2 — are you saying you had to _patch_ qt5-qtbase-5.15.11-3.fc39 (beyond the original contents of the package)? And when you said, "...and rebuilding", did you mean rebuilding Octave, or rebuilding qt5-qtbase? If the problem is in the current qt5-qtbase-5.15.11-3.fc39 package, then the octave-8.4.0 build I just did against it is probably equally broken.
Yes. The patch is in comment #2. I patched the file SOURCES/0014-QGtk3Theme-Improve-fixed-font-delivery.patch in qt5-qtbase-5.15.11-3.fc39.src.rpm, rebuilt the rpms and then reinstalled the rpms. The problem showed up with octave-8.3.0 but is due to the missing initial "*"in the CSS string in the function "QFont QGtk3Interface::font(QPlatformTheme::Font type) const" in the file "src/plugins/platformthemes/gtk3/qgtk3interface.cpp". Apologies for the confusion.
FEDORA-2023-289ef7a458 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-289ef7a458` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-289ef7a458 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
This problem is still occurring .. is there a work around to be able to use the GUI?
Created attachment 2011083 [details] Build development version of octave-9 The next version of octave updates to qt6. It should be released soon. If you can't wait, try building a local Fedora version with the attached script. You may have to install a lot of dependencies first.
In the uploaded script, for the "octave --gui" version, you'll need to remove the line "--disable-java \" from the octave "configure" command.
Michael, try running your version of Octave as root.
yes, this actually worked..
Created attachment 2011310 [details] Script to build/install octave-9 to /usr/local (run as regular user; uses sudo) Ugh, I didn't realize the Qt5 CSS issue wasn't going to get fixed in F39, sorry about that. I'll back this down from "ON_QA" status, and see what I can do about addressing it. Perhaps a local Qt style sheet. When Octave 9 is released, we would be able to upgrade F39, since the current package is broken — in fact, we could upgrade it now, building from the development sources; I'll try to find some time to explore that. In the meantime, though, a local build is the quickest solution I'm afraid. Thanks for providing that script, @robertjenssen.au. I've gone through it and updated the install and privileged commands to use sudo, rather than having to run the entire build as root. Feels a bit safer. Updated version attached. (I didn't remove --disable-java.)
Created attachment 2011311 [details] Script to build/install octave-9 to /usr/local (run as regular user; uses sudo) And, of course, I immediately caught an error in my script. Attaching a fixed version.