Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 604418 - sci-mathematics/octave-4.2.0 - src_compile(): lrelease: could not exec '/usr/lib64/qt5/bin/lrelease': No such file or directory
Summary: sci-mathematics/octave-4.2.0 - src_compile(): lrelease: could not exec '/usr/...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Science Mathematics related packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 565410
  Show dependency tree
 
Reported: 2017-01-02 16:08 UTC by Peter Serbe
Modified: 2017-01-10 22:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
octave_gui_ebuilds.zip (octave_gui_ebuilds.zip,366.98 KB, application/zip)
2017-01-02 16:08 UTC, Peter Serbe
Details
build log after 'ebuild octave-4.2.0-r2 configure' (build.log.bz2,12.20 KB, application/x-bzip)
2017-01-09 03:37 UTC, Steven Trogdon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Serbe 2017-01-02 16:08:18 UTC
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.
Comment 1 Peter Serbe 2017-01-02 16:13:07 UTC
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...
Comment 2 Michael Hofmann 2017-01-02 21:32:37 UTC
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
Comment 3 Peter Serbe 2017-01-02 22:29:40 UTC
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.
Comment 4 David Seifert gentoo-dev 2017-01-06 15:18:40 UTC
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
Comment 5 Peter Serbe 2017-01-06 18:29:46 UTC
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      

-----------------------------------------------------------------------------
Comment 6 Steven Trogdon 2017-01-09 02:47:17 UTC
(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.
Comment 7 Steven Trogdon 2017-01-09 03:37:56 UTC
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'
Comment 8 Peter Serbe 2017-01-09 07:18:26 UTC
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.
Comment 9 Steven Trogdon 2017-01-09 17:11:04 UTC
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.
Comment 10 David Seifert gentoo-dev 2017-01-10 16:49:30 UTC
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
Comment 11 Peter Serbe 2017-01-10 22:37:08 UTC
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. :-)