Created attachment 458396 [details] octave_gui_ebuilds.zip The new Qt5 based GUI won't compile unless I install these two packages by hand: qt-dev/webkit and qt-dev/linguist-tools. The latter seems to be a build time dependency. These are my USE flags related to Octave: # use flage for octave-4.2.0-r2 sci-mathematics/octave curl doc llpk graphicsmagic gui qhull qrupdate sparse X -doc fftw gnuplot imagemagick opengl postscript readline zlib qt5 curl sci-mathematics/octave-epstk doc #app-portage/g-octave doc x11-libs/libxcb xkb # required by dev-qt/qtcore-5.7.1::gentoo dev-libs/libpcre pcre16 # required by dev-qt/qtwebkit-5.7.1::gentoo dev-qt/qtcore icu # make qscintilla to use Qt5 x11-libs/qscintilla qt5 -qt4 Furthermore I used these entries in package.accept_keywords to get the latest Qt libraries and the latest Octave. # octave >=sci-mathematics/octave-4.2.0 ~amd64 # add Qt5 support for Octave =dev-qt/qtx11extras-5.7.1 ~amd64 =dev-qt/qtcore-5.7.1 ~amd64 =dev-qt/qtprintsupport-5.7.1 ~amd64 =dev-qt/linguist-tools-5.7.1 ~amd64 =dev-qt/qtbus-5.7.1 ~amd64 =dev-qt/qtgui-5.7.1 ~amd64 =x11-libs/qscintilla-2.9.3 ~amd64 =dev-qt/qtdbus-5.7.1 ~amd64 =dev-qt/qdbus-5.7.1 ~amd64 =dev-qt/qtxml-5.7.1 ~amd64 =dev-qt/qtopengl-5.7.1 ~amd64 =dev-qt/qtnetwork-5.7.1 ~amd64 =dev-qt/qtwidgets-5.7.1 ~amd64 =dev-qt/qtwebkit-5.7.1 ~amd64 =dev-qt/qtsql-5.7.1 ~amd64 In the attachments I add these three ebuild logs: 1.: sci-mathematics:octave-4.2.0-r2:20170102-111231.log -> this is the ebuild without the qt-dev/webkit and qt-dev/linguist-tools packages installed. The ebuild runs smooth, but the gui isn't built. 2.: sci-mathematics:octave-4.2.0-r2:20170102-125449.log -> qt-dev/webkit installed, but the build crashes as it needs a program from the linguist-tools. 3.: sci-mathematics:octave-4.2.0-r2:20170102-130508.log -> both packages installed, gui is built OK.
note: search for the first occurence of Qt in the log... if qtwebkit is not installed it says: checking Qt version 5... checking for QT... no configure: WARNING: Qt libraries not found; disabling Qt GUI if qtwebkit is installed but the linguist-tools are missing, the emerge crashes with this error message: lrelease -qt5 -qm libgui/languages/be_BY.qm libgui/languages/be_BY.ts lrelease: could not exec '/usr/lib64/qt5/bin/lrelease': No such file or directory which clearly points to the linguist-tools...
dev-qt/qtwebkit is NOT required to compile and run octave 4.0.2-r2 with Qt5 and GUI - at least not on my servers. In can't tell whether dev-qt/linguist-tools is required. I guess it is required. But dev-qt/linguist-tools was already installed on my servers before I emerged octave. I define 'nls' and 'qt5' USE-flags in make.conf - and many ebuilds pull in dev-qt/linguist-tools automatically if those use-flags are defined. octave USE-flags on my system: X curl doc fftw glpk gui imagemagick java opengl postscript qhull qrupdate readline sparse zlib -gnuplot -graphicsmagick -hdf5 -openssl -portaudio -sndfile -static-libs
Hello Michael, IIRC 4.0.2 did work out of the box. But the upgrade to 4.2.0 did break it. At first I thought I did wreck the system, as I messed around trying to get some Remote Desktop working (which failed - but that's a different story). Two weeks ago I found a webpage telling, which Qt libraries Octave considered necessary. It was a hell of a lot of stuff - unfortunately I lost the link. Anyhow, I started adding packages until the point, where the gui was build, then removing until it did break. And after quite a few hours of going back and forth I came to the conclusion, that exactly these two packages were necessary to make the 4.2.0 gui working. If I understood the comments on 4.2.0 right, then they made their upgrade from Qt4 to Qt5. And I have read, that Qt 5.7 was much preferred, but I lack the expertise to profoundly judge this question. In the end, Octave-4.0.2 isn't in the official packages anymore. So I presume, that the correct functionality of 4.2.0 should be achieved. Best regards Peter PS: prior to fiddling around with Qt I tried all combinations of use flags. Without any success. And when reading the ebuild this completely made sense. One could argue, whether the qt5 use flag should be set in combination with the gui use flag - but only these two seem to be relevant to the building of the gui.
Try again. commit 24a4b747e224dfdb3ece48f0e8f44aee7768a095 Author: David Seifert <soap@gentoo.org> Date: Fri Jan 6 17:16:44 2017 +0200 sci-mathematics/octave: Add missing DEPEND on dev-qt/linguist-tools:5 Gentoo-bug: 604418
Hi David, Thank You for the support. But I have to insist: the linguist-tools are not sufficient for me to build the gui... See the excerpt from my emerge log: ----------------------------------------------------------------------------- checking Qt version 5... checking for QT... no configure: WARNING: Qt libraries not found; disabling Qt GUI ... QHULL CPPFLAGS: QHULL LDFLAGS: QHULL libraries: -lqhull QRUPDATE CPPFLAGS: QRUPDATE LDFLAGS: QRUPDATE libraries: -lqrupdate Qt CPPFLAGS: Qt LDFLAGS: Qt libraries: Qt moc: Qt uic: Qt rcc: Qt lrelease: READLINE libraries: -lreadline ... Default pager: less gnuplot: gnuplot Build Octave Qt GUI: no JIT compiler for loops: no Build Java interface: no Do internal array bounds checking: no Build static libraries: no Build shared libraries: yes Dynamic Linking: yes (dlopen) Include support for GNU readline: yes 64-bit array dims and indexing: no OpenMP SMP multithreading: yes Build cross tools: no Build docs: no Truncate intermediate FP results: yes configure: WARNING: I didn't find icotool, but it's only a problem if you need to reconstruct octave-logo.ico, which is the case if you're building from VCS sources. configure: WARNING: building documentation disabled; make dist will fail configure: WARNING: --without-hdf5 specified. Functions or features that depend on HDF5 will be disabled. configure: WARNING: --without-sndfile specified. Functions or features that depend on sndfile will be disabled. configure: WARNING: --without-portaudio specified. Functions or features that depend on PortAudio will be disabled. configure: WARNING: --without-OSMesa specified. Functions or features that depend on OSMesa will be disabled. configure: WARNING: Qt libraries not found; disabling Qt GUI configure: configure: NOTE: Libraries or auxiliary programs may be skipped if they are configure: NOTE: not found OR if they are missing required features on your configure: NOTE: system. >>> Source configured. >>> Compiling source in /var/tmp/portage/sci-mathematics/octave-4.2.0-r2/work/octave-4.2.0 ... make -j8 -----------------------------------------------------------------------------
(In reply to David Seifert from comment #4) > Try again. > > commit 24a4b747e224dfdb3ece48f0e8f44aee7768a095 > Author: David Seifert <soap@gentoo.org> > Date: Fri Jan 6 17:16:44 2017 +0200 > > sci-mathematics/octave: Add missing DEPEND on dev-qt/linguist-tools:5 > > Gentoo-bug: 604418 Let me know if I'm off-topic but this bug seems to really be about getting the GUI to function with octave-4.2.0 which is not conveyed in the title. I have: [I] sci-mathematics/octave Available versions: 3.6.4(0/3.6.4) 3.8.2-r2(0/3.8.2) (~)4.2.0-r2(0/4.2.0) {X curl doc fftw +glpk gnuplot graphicsmagick gui hdf5 +imagemagick java opengl openssl portaudio postscript +qhull +qrupdate readline sndfile +sparse static-libs zlib ELIBC="FreeBSD"} Installed versions: 4.2.0-r2(08:18:02 PM 01/08/2017)(X curl doc fftw glpk gnuplot gui imagemagick java opengl openssl postscript qhull qrupdate readline sparse zlib -graphicsmagick -hdf5 -portaudio -sndfile -static-libs ELIBC="-FreeBSD") Prior to this commit octave-4.2.0-r2 would build but no GUI. After this commit I still have no GUI, even with octave --force-gui I do not have dev-qt/qtwebkit:5 installed [U] dev-qt/qtwebkit Available versions: (4) 4.8.6-r1 ~4.8.7 [M]~4.10.4 (5) 5.6.1(5/5.6)^mt 5.6.2(5/5.6)^mt ~5.7.1(5/5.7)^mt {aqua debug +exceptions geolocation (+)gstreamer gstreamer010 icu +jit multimedia opengl orientation pch printsupport qml test webchannel webp ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 4.8.6-r1(4)(11:18:44 PM 12/05/2016)(exceptions gstreamer icu jit -aqua -debug -pch ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") It would be nice to get this working. I know when the 'gui' useflag was added (https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1842a17a0dacbcf414630b07b2e9a79bca455ddb) there seemed to be consensus that the GUI was working. But I suspect most who tested it were running ~amd64.
Created attachment 459254 [details] build log after 'ebuild octave-4.2.0-r2 configure' (In reply to Peter Serbe from comment #5) > ... > > ----------------------------------------------------------------------------- > checking Qt version 5... checking for QT... no > configure: WARNING: Qt libraries not found; disabling Qt GUI > ... I see the same after 'ebuild octave-4.2.0-r2 configure'
a few more comments: - first: I have a typo in my first bug description: the package required for the octave-4.2.0 GUI to build is dev-qt/qtwebkit-5.7.1. I don't know, whether it would work with earlier Qt5 versions. I just have read the recommendation to use Qt 5.7 and later. - second: to test, whether the GUI is there: just run octave as a normal user. When it comes up in the CLI mode, then the GUI is not there. The GUI is the default to come up in Octave 4.2 (IIRC it is like that in 4.0 and later). - sorry for the bug's title. It is my first bug report. And the report seems buggy... I wanted the GUI. I come from Matlab (started using it under DOS when there was no GUI, but that was *long* ago ;-) ). Using a Math package like Octave or Matlab is 95% done interactively, which begs for the GUI.
Looking a little more closely at config.log I see: configure:34633: checking Qt version 5 configure:34673: checking for QT configure:34681: $PKG_CONFIG --exists --print-errors "$QT_MODULES" Package Qt5OpenGL was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5OpenGL.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5OpenGL' found configure:34684: $? = 1 configure:34699: $PKG_CONFIG --exists --print-errors "$QT_MODULES" Package Qt5OpenGL was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5OpenGL.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5OpenGL' found configure:34702: $? = 1 No package 'Qt5OpenGL' found configure:34730: result: no configure:36583: WARNING: Qt libraries not found; disabling Qt GUI So, it appears that to enable the Qt GUI we also need dev-qt/qtopengl:5 which is not installed on my system. After installing dev-qt/qtopengl-5.6.2 and rebuilding octave I now see the GUI. I haven't checked functionality, but it is there. So perhaps in the ebuild there should be something like gui? ( dev-qt/qtcore:5 dev-qt/qtopengl:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 >=x11-libs/qscintilla-2.9.3-r2:=[qt5(+)] ) unless qtopengl:5 should be pulled in by some other package.
Please give it another try. commit 74e01111d0665dbb30030a57d553e692583404d2 Author: David Seifert <soap@gentoo.org> Date: Tue Jan 10 18:46:31 2017 +0200 sci-mathematics/octave: RDEPEND on dev-qt/qtopengl:5 Gentoo-bug: 604418
At the first glance it looks good now. I am just about to uninstall the qtwebkit with all its dependencies and reinstall Octave-4.2.0-r3. Thank You David, and Thank You Steven for looking at the right place - and telling us about. PS: after a reboot (plus depclean, plus revdep-rebuild, just to be sure): it looks good now. Problem solved. :-)