Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 548712 - dev-qt/qtgui-4.8.6-r2: ebuild does not respect opengl USE flag
Summary: dev-qt/qtgui-4.8.6-r2: ebuild does not respect opengl USE flag
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-05 19:53 UTC by Martin Mokrejš
Modified: 2015-05-07 15:04 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2015-05-05 19:53:05 UTC
Due to deemed bug in http://www.kolor.com/forum/viewtopic.php?f=19&t=26290#p162335 I suspect my libQtOpenGL.so.4 is missing because dev-qt/qtgui-4.8.6-r2 was not compiled with opengl USE flag. I went to recompile here is what I see:


# emerge -pv =dev-qt/qtgui-4.8.6-r2

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtgui-4.8.6-r2:4::gentoo  USE="accessibility cups exceptions glib qt3support tiff xv (-aqua) -debug -egl -gtkstyle -mng -nas -nis -pch -trace -xinerama" ABI_X86="32 (64) (-x32)" 0 KiB





Now, look for "-no-opengl" as the last argument to configure:



>>> Emerging (1 of 1) dev-qt/qtgui-4.8.6-r2::gentoo
 * qt-everywhere-opensource-src-4.8.6.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                                                                                       [ ok ]
 * qtgui-systemtrayicon-plugin-system.patch SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                                                                                        [ ok ]
>>> Unpacking source...
>>> Unpacking qt-everywhere-opensource-src-4.8.6.tar.gz to /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work
>>> Unpacking qtgui-systemtrayicon-plugin-system.patch to /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work
unpack qtgui-systemtrayicon-plugin-system.patch: file format not recognized. Ignoring.
>>> Source unpacked in /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work
>>> Preparing source in /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work/qt-everywhere-opensource-src-4.8.6 ...
 * Applying qtgui-systemtrayicon-plugin-system.patch ...                                                                                                                                                                                                                                                                [ ok ]
 * Applying qtgui-4.7.3-cups.patch ...                                                                                                                                                                                                                                                                                  [ ok ]
 * Applying qtgui-4.8.5-cleanlooks-floating-point-exception.patch ...                                                                                                                                                                                                                                                   [ ok ]
 * Applying qtgui-4.8.5-disable-gtk-theme-check.patch ...                                                                                                                                                                                                                                                               [ ok ]
 * Applying qtgui-4.8.5-dont-crash-on-broken-GIF-images.patch ...                                                                                                                                                                                                                                                       [ ok ]
 * Applying qtgui-4.8.5-qclipboard-delay.patch ...                                                                                                                                                                                                                                                                      [ ok ]
 * Applying qtgui-4.8.5-CVE-2015-0295.patch ...                                                                                                                                                                                                                                                                         [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-qt/qtgui-4.8.6-r2/work/qt-everywhere-opensource-src-4.8.6 ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
 * Configuring with: -prefix /usr -bindir /usr/lib32/qt4/bin -libdir /usr/lib32/qt4 -docdir /usr/share/doc/qt-4.8.6 -headerdir /usr/include/qt4 -plugindir /usr/lib32/qt4/plugins -importdir /usr/lib32/qt4/imports -datadir /usr/share/qt4 -translationdir /usr/share/qt4/translations -sysconfdir /etc/qt4 -examplesdir /usr/share/qt4/examples -demosdir /usr/share/qt4/demos -release -no-separate-debug-info -opensource -confirm-license -shared -dont-process -largefile -exceptions -stl -arch i386 -platform linux-g++ -system-zlib -nomake examples -nomake demos -no-rpath -verbose -no-pch -reduce-relocations -accessibility -cups -glib -no-libmng -no-nas-sound -no-nis -system-libtiff -no-egl -qt3support -no-gtkstyle -no-xinerama -xvideo -system-libpng -system-libjpeg -system-zlib -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc -sm -xshape -xsync -xcursor -xfixes -xrandr -xrender -mitshm -xinput -xkb -fontconfig -no-svg -no-webkit -no-phonon -no-opengl
Performing shadow build...
Preparing build tree...
Determining system architecture... (Linux:3.19.0-default-pciehp:x86_64)
    64-bit AMD 80x86 (x86_64)
    'i386' is supported
    'x86_64' is supported
System architecture: 'i386'
Symbol visibility control enabled.
Symbolic function binding enabled.
Comment 1 Martin Mokrejš 2015-05-05 21:09:21 UTC
And hacking the ebuild gave me the yet missing libQtOpenGL.so.4 library:


--- /usr/portage/dev-qt/qtgui/qtgui-4.8.6-r2.ebuild     2015-04-15 06:01:10.000000000 +0200
+++ /tmp/qtgui-4.8.6-r2.ebuild  2015-05-05 23:06:36.510294133 +0200
@@ -15,7 +15,7 @@
        KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
 fi
 
-IUSE="+accessibility cups egl +glib gtkstyle mng nas nis qt3support tiff trace xinerama +xv"
+IUSE="+accessibility cups egl +glib gtkstyle mng nas nis opengl qt3support tiff trace xinerama +xv"
 
 REQUIRED_USE="
        gtkstyle? ( glib )
@@ -104,6 +104,7 @@
                $(usev nas)
                $(usev nis)
                $(use tiff && echo system-tiff)
+               $(usev opengl)
                $(usev xinerama)
                $(use xv && echo xvideo)"
        QCONFIG_REMOVE="no-freetype no-gif no-jpeg no-png no-gui"
@@ -139,6 +140,7 @@
                $(qt_use nas nas-sound system)
                $(qt_use nis)
                $(qt_use tiff libtiff system)
+               $(qt_use opengl)
                $(qt_use egl)
                $(qt_use qt3support)
                $(qt_use gtkstyle)
@@ -147,7 +149,7 @@
                -system-libpng -system-libjpeg -system-zlib
                -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc
                -sm -xshape -xsync -xcursor -xfixes -xrandr -xrender -mitshm -xinput -xkb
-               -fontconfig -no-svg -no-webkit -no-phonon -no-opengl
+               -fontconfig -no-svg -no-webkit -no-phonon
                $([[ ${CHOST} == *86*-apple-darwin* ]] && echo -no-ssse3) # bug 367045
        )
        qt4_multilib_src_configure
Comment 2 Davide Pesavento (RETIRED) gentoo-dev 2015-05-06 15:41:06 UTC
What does it mean that your "libQtOpenGL.so.4 is missing"? Have you emerged dev-qt/qtopengl:4 ?
Comment 3 Martin Mokrejš 2015-05-06 16:03:59 UTC
(In reply to Davide Pesavento from comment #2)
> What does it mean that your "libQtOpenGL.so.4 is missing"? 

Thefile was not installed although dev-qt/qtgui-4.8.6-r2:4::gentoo was installed on my system. Seemed like wrong USE flags in action.


> Have you emerged dev-qt/qtopengl:4 ?

Yes, the very same version. As I showed, I hacked the ebuild for the version which I had previously installed ... to show the ebuild calls configure with wrong arguments. No idea why there was hardcoded "-no-opengl".

Not sure the difference between use, usev and qt_use calls in my modified ebuild. But it worked for me.
Comment 4 Michael Palimaka (kensington) gentoo-dev 2015-05-07 11:00:07 UTC
libQtOpenGL is provided by qtopengl, not qtgui.
Comment 5 Martin Mokrejš 2015-05-07 14:07:34 UTC
But why nothing pulled in qtopengl for me automatically? Then maybe virtual/qt could that?



As of now I have:

# emerge -pv qtopengl

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-libs/libpcre-8.37:3::gentoo  USE="bzip2 cxx jit pcre16* readline recursion-limit (unicode) zlib -libedit -pcre32 -static-libs" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  NS    ] dev-qt/qtcore-5.4.1:5::gentoo [4.8.6-r1:4::gentoo] USE="-debug -icu -systemd {-test}" 45051 KiB
[ebuild   R    ] x11-libs/libxcb-1.11-r1:0/1.11::gentoo  USE="xkb* -doc (-selinux) -static-libs {-test}" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  N     ] x11-libs/libxkbcommon-0.5.0::gentoo  USE="X -doc -static-libs {-test}" ABI_X86="32 (64) (-x32)" 602 KiB
[ebuild  NS    ] dev-qt/qtgui-5.4.1-r1:5::gentoo [4.8.6-r2:4::gentoo] USE="gif harfbuzz jpeg opengl png udev xcb -accessibility -debug -egl -eglfs -evdev -gles2 -gtkstyle -ibus -kms {-test}" 0 KiB
[ebuild  N     ] dev-qt/qtwidgets-5.4.1:5::gentoo  USE="opengl png xcb -debug -gles2 -gtkstyle {-test}" 0 KiB
[ebuild  N     ] dev-qt/qtopengl-5.4.1:5::gentoo  USE="-debug -gles2 {-test}" 0 KiB

Total: 7 packages (3 new, 2 in new slots, 2 reinstalls), Size of downloads: 45653 KiB

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-qt/qtcore-5.4.1::gentoo
# required by dev-qt/qtopengl-5.4.1::gentoo
# required by qtopengl (argument)
>=dev-libs/libpcre-8.37 pcre16
# required by dev-qt/qtgui-5.4.1-r1::gentoo[xcb]
# required by dev-qt/qtopengl-5.4.1::gentoo
# required by qtopengl (argument)
>=x11-libs/libxcb-1.11-r1 xkb



So as you can see, I do not have dev-qt/qtopengl-4:* installed. That explains why hacking the qtgui helped me in this regard.


# grep opengl /etc/portage/make.conf
USE="abi_x86_32 -acl acpi alsa amr amd64 apache apache2 apulse avx -avx2 berkdb bindist bluetooth boost bzip2 cairo cgi cli -console -consolekit cracklib crypt cryptlib cups -doc device-mapper dhcp drm dbus directfb dvd emboss encode -espeak fax fbcon ffmpeg -firmware-loader flac fontconfig fortran gbm gd gdbm geoip gimp -gnome gnutls gpm gtk gudev -gvfs hal hpijs hwdb iconv id3tag imaging innodb -ipv6 -isdnlog java jce jpeg jpg -kde -kde2 -kde3 keymap ladspa lapack laptop lcms -libav -libkms libnotify lm_sensors mad matroska -midi mmx mpi mpich2 -mudflap mysql ncurses nfs nls nptl nptlonly nsplugin ntfsprogs ocr ogg opengl openmp -openssl pam parport pcre pdf perl php png -polkit -policykit pppd ppds -pulseaudio python readline -reflection rendering resolvconf scanner server session slideshow sndfile -spl sqlite sse sse2 sse3 ssse3 sse4_1 sse4_2 ssl suexec svg syslog tcl tcpd threads tiff tk truetype udev -udisks unicode usb vim-syntax wavpack wifi xml xorg xvmc x11 zlib X -kerberos"
#
Comment 6 Michael Palimaka (kensington) gentoo-dev 2015-05-07 14:12:44 UTC
(In reply to Martin Mokrejš from comment #5)
> But why nothing pulled in qtopengl for me automatically? Then maybe
> virtual/qt could that?

Why would qtopengl be pulled automatically? Ebuilds only pull in the packages they require. If you're using some third party software outside of portage, it's up to you to install the dependencies yourself.
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2015-05-07 14:27:29 UTC
(In reply to Martin Mokrejš from comment #5)
> 
> # emerge -pv qtopengl
> 

You need to specify the SLOT, i.e.

# emerge -pv qtopengl:4

Also note that we have a metapackage, dev-qt/qt-meta:4, which pulls in almost everything (including qtopengl)
Comment 8 Martin Mokrejš 2015-05-07 15:04:04 UTC
(In reply to Davide Pesavento from comment #7)
> (In reply to Martin Mokrejš from comment #5)
> > 
> > # emerge -pv qtopengl
> > 
> 
> You need to specify the SLOT, i.e.
> 
> # emerge -pv qtopengl:4
> 
> Also note that we have a metapackage, dev-qt/qt-meta:4, which pulls in
> almost everything (including qtopengl)


Thank you, this is what I missed. I think such metapackages could have better desription so that I would realize they give me "reasonable" defaults. Currently it says:

Cross-platform application development framework (metapackage)

Hmm. :(