Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
qtgui, qtopengl, and kwayland compatibility with egl USE
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
beerbellyswan
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2004
Posts: 86
Location: mendon, ny

PostPosted: Thu Mar 01, 2018 4:01 pm    Post subject: qtgui, qtopengl, and kwayland compatibility with egl USE Reply with quote

Hi folks - i can't figure out how to get qtgui, qtopengl, and qtwayland to co-exist properly on the same machine.
qtopengl demands that qtgui use the "-egl" flag:
Code:

office /usr/portage # emerge --newuse -uDvp dev-qt/qtopengl dev-qt/qtgui dev-qt/qtwayland

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

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtdeclarative-5.7.1-r1:5/5.7::gentoo  USE="debug* jit widgets -gles2 -localstorage {-test} -xml*" 0 KiB
[ebuild   R    ] dev-qt/qtwayland-5.7.1:5/5.7::gentoo  USE="-debug {-test} -xcomposite*" 0 KiB

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-qt/qtgui:4

  (dev-qt/qtgui-4.8.7:4/4::gentoo, ebuild scheduled for merge) conflicts with
    ~dev-qt/qtgui-4.8.7[-aqua,debug,-egl,qt3support,abi_x86_64(-)] required by (dev-qt/qtopengl-4.8.7:4/4::gentoo, installed)
                                    ^^^^                         

office /usr/portage #


But kwayland and qtwayland demands that qtgui use WITH the "egl" flag:
Code:

office /usr/portage # emerge --newuse -uDvp dev-qt/qtopengl dev-qt/qtgui dev-qt/qtwayland

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

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtdeclarative-5.7.1-r1:5/5.7::gentoo  USE="debug* jit widgets -gles2 -localstorage {-test} -xml*" 0 KiB
[ebuild   R    ] dev-qt/qtwayland-5.7.1:5/5.7::gentoo  USE="-debug {-test} -xcomposite*" 0 KiB

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-qt/qtgui:5

  (dev-qt/qtgui-5.7.1-r1:5/5.7::gentoo, ebuild scheduled for merge) conflicts with
    ~dev-qt/qtgui-5.7.1[egl] required by (dev-qt/qtwayland-5.7.1:5/5.7::gentoo, ebuild scheduled for merge)
                        ^^^
    >=dev-qt/qtgui-5.7.1:5[egl] required by (kde-frameworks/kwayland-5.40.0:5/5.40::gentoo, installed)
                           ^^^

office /usr/portage #


so which is it? is *wayland incompatible on the same machine with qtopengl?

thanks in advance!
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6180
Location: Austria

PostPosted: Thu Mar 01, 2018 4:33 pm    Post subject: Reply with quote

Why don't you use the desktop profile?

USE=egl must be set consistently across all of dev-qt/*:5 packages that have it. But don't confuse Qt slot 5 with slot 4.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1544

PostPosted: Thu Mar 01, 2018 4:40 pm    Post subject: Reply with quote

Well, looking at qtopengl-5.7.1's ebuild, it says this:
Code:
    ~dev-qt/qtgui-${PV}[gles2=]
    ~dev-qt/qtwidgets-${PV}[gles2=]


Even, 4.8.7 has a similar line:
Code:
 ~dev-qt/qtgui-${PV}[aqua=,debug=,egl=,qt3support=,${MULTILIB_USEDEP}]


What it is saying for qtgui dependency, it needs to have the same USE flags enabled on both qtgui and qtopengl (gles2 for qt5) or aqua,debug,egl,qt3support (for qt4). One of the things you may be getting mixed up on, is the qt:4 and qt:5 pieces (effectively they are 2 independent packages). This means this:
Quote:
dev-qt/qtgui-4.8.7:4/4::gentoo, ebuild scheduled for merge) conflicts with
~dev-qt/qtgui-4.8.7[-aqua,debug,-egl,qt3support,abi_x86_64(-)] required by (dev-qt/qtopengl-4.8.7:4/4::gentoo, installed)


Is completely separate than what dev-qt/qtwayland-5.7.1:5/5.7 is using...
Back to top
View user's profile Send private message
beerbellyswan
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2004
Posts: 86
Location: mendon, ny

PostPosted: Thu Mar 01, 2018 4:50 pm    Post subject: Reply with quote

@asturm - i was originally using a desktop profile, but i had problems with the multilib use flags and posted this query:
https://forums.gentoo.org/viewtopic-t-1076564-highlight-.html

it was suggested to use a "no-multilib" profile which made sense to me. There is no desktop no-multilib profile, so i switched to the closest thing:
Code:

office ~ # eselect profile list | grep \*
  [22]  default/linux/amd64/17.0/no-multilib (stable) *
office ~ #


@ct85711 - i'm not following your response enough to determine the next steps. is there a way to set a consistent set of use flags across both qt4 and qt5? i *think* that's what youre suggesting...
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1544

PostPosted: Thu Mar 01, 2018 9:26 pm    Post subject: Reply with quote

The flags for qt4 and qt5 are completely different lines, just like apples and oranges are different. The issue on portage, is that by default it is going to go for the newest version, which it is going to see qt5. The thing is, we need to specify qt4, so we can resolve the conflict.

Show the output of
Code:
emerge -pv qtgui:4 qtopengl:4


The :4 after them, is specifying we want slot 4 (corresponding with qt4, :5 would be qt5).
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6180
Location: Austria

PostPosted: Thu Mar 01, 2018 9:28 pm    Post subject: Reply with quote

That's not exactly catching it. The OP is apparently switching use flags globally in make.conf. If you do that, you can't just emerge one or two single packages as your next action. You need to emerge -N world to draw in the whole depgraph on order for the use-dep changes to resolve.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
beerbellyswan
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2004
Posts: 86
Location: mendon, ny

PostPosted: Thu Mar 01, 2018 9:41 pm    Post subject: Reply with quote

@ct85711: this is the output of what you're asking
Code:

office ~ # emerge -pv qtgui:4 qtopengl:4

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

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

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB
office ~ #


and this is the output for qt5:
Code:

office ~ # emerge -pv qtgui:5 qtopengl:5

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

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtgui-5.7.1-r1:5/5.7::gentoo  USE="dbus debug gif gtk jpeg png udev xcb -accessibility -egl* -eglfs -evdev -gles2 -ibus -libinput {-test} -tslib -tuio" 0 KiB
[ebuild   R    ] dev-qt/qtopengl-5.7.1:5/5.7::gentoo  USE="debug -gles2 {-test}" 0 KiB

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-qt/qtgui:5

  (dev-qt/qtgui-5.7.1-r1:5/5.7::gentoo, ebuild scheduled for merge) pulled in by
    dev-qt/qtgui:5 (Argument)

  (dev-qt/qtgui-5.7.1-r1:5/5.7::gentoo, installed) pulled in by
    >=dev-qt/qtgui-5.7.1:5[egl] required by (kde-frameworks/kwayland-5.40.0:5/5.40::gentoo, installed)
                           ^^^                                                                                                           
    ~dev-qt/qtgui-5.7.1[egl] required by (dev-qt/qtwayland-5.7.1:5/5.7::gentoo, installed)
                        ^^^                                                                                                   


It might be possible to solve this slot collision
by applying all of the following changes:
   - dev-qt/qtgui-5.7.1-r1 (Change USE: +egl)

office ~ #


@asturm - the "-N" switch is how im finding this problem to begin with. i can't get the use flags consistent between all the packages. but here is what the value is right now (when i have qtgui compiled with -egl):
Code:

office ~ # emerge -Nvp world

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

Calculating dependencies... done!
[ebuild   R    ] media-gfx/exiv2-0.26_p20171104:0/26::gentoo  USE="nls xmp -doc -examples -png* -webready" 0 KiB
[ebuild   R    ] dev-qt/designer-5.7.1:5/5.7::gentoo  USE="debug* -declarative {-test} -webkit" 0 KiB
[ebuild   R    ] x11-misc/sddm-0.17.0-r1::gentoo  USE="pam -consolekit* -elogind -systemd {-test}" 0 KiB
[ebuild   R    ] media-video/acidrip-0.14-r4::gentoo  USE="-encode*" 0 KiB
[ebuild   R    ] kde-frameworks/knotifyconfig-5.40.0:5/5.40::gentoo  USE="-debug -doc -phonon*" 0 KiB
[ebuild   R    ] kde-apps/kio-extras-17.08.3:5::gentoo  USE="handbook man mtp sftp -activities* -debug -htmlthumbs -openexr -phonon* -samba -slp -taglib {-test}" 0 KiB
[ebuild   R    ] kde-apps/gwenview-17.08.3:5::gentoo  USE="X handbook -debug -kipi* -raw -semantic-desktop* {-test}" 0 KiB
[ebuild   R    ] kde-apps/dolphin-17.08.3:5::gentoo  USE="handbook -debug -semantic-desktop* {-test} -thumbnail" 0 KiB
[ebuild   R    ] kde-plasma/breeze-5.11.5:5::gentoo  USE="X -debug -qt4* -wayland" 0 KiB
[ebuild   R    ] kde-plasma/oxygen-5.11.5:5::gentoo  USE="-debug -qt4* -wayland" 0 KiB
[ebuild   R    ] kde-plasma/powerdevil-5.11.5:5::gentoo  USE="handbook wireless -consolekit* -debug" 0 KiB
[ebuild   R    ] net-print/hplip-3.17.10::gentoo  USE="X hpcups scanner snmp -doc -fax -hpijs -kde* -libressl -libusb0 -minimal -parport -policykit* -qt5* -static-ppds" PYTHON_SINGLE_TARGET="python3_5 -python2_7 -python3_4 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB

Total: 12 packages (12 reinstalls), Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

media-libs/phonon:0

  (media-libs/phonon-4.10.0:0/0::gentoo, ebuild scheduled for merge) conflicts with
    >=media-libs/phonon-4.9.0[qt4,qt5] required by (media-libs/phonon-vlc-0.9.1-r1:0/0::gentoo, installed)
                              ^^^ ^^^
    media-libs/phonon[qt4] required by (kde-frameworks/kdelibs-4.14.37:4/4.14::gentoo, installed)
                      ^^^

dev-qt/qtgui:5

  (dev-qt/qtgui-5.7.1-r1:5/5.7::gentoo, ebuild scheduled for merge) conflicts with
    ~dev-qt/qtgui-5.7.1[egl] required by (dev-qt/qtwayland-5.7.1:5/5.7::gentoo, installed)
                        ^^^
    >=dev-qt/qtgui-5.7.1:5[egl] required by (kde-frameworks/kwayland-5.40.0:5/5.40::gentoo, installed)
                           ^^^

office ~ #
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6180
Location: Austria

PostPosted: Thu Mar 01, 2018 10:03 pm    Post subject: Reply with quote

Then add --deep to your command. And remove phonon from your package.accept_keywords.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
beerbellyswan
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2004
Posts: 86
Location: mendon, ny

PostPosted: Thu Mar 01, 2018 10:11 pm    Post subject: Reply with quote

adding the "--deep" switch didn't do anything:
Code:

office ~ # emerge -Nvp --deep world

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

Calculating dependencies... done!
[ebuild   R    ] media-gfx/exiv2-0.26_p20171104:0/26::gentoo  USE="nls xmp -doc -examples -png* -webready" 0 KiB
[ebuild   R    ] dev-qt/designer-5.7.1:5/5.7::gentoo  USE="debug* -declarative {-test} -webkit" 0 KiB
[ebuild   R    ] dev-qt/qtwayland-5.7.1:5/5.7::gentoo  USE="-debug {-test} -xcomposite*" 0 KiB
[ebuild   R    ] x11-misc/sddm-0.17.0-r1::gentoo  USE="pam -consolekit* -elogind -systemd {-test}" 0 KiB
[ebuild   R    ] kde-frameworks/kirigami-5.40.0:5/5.40::gentoo  USE="-debug -examples -plasma* {-test}" 0 KiB
[ebuild   R    ] media-video/acidrip-0.14-r4::gentoo  USE="-encode*" 0 KiB
[ebuild   R    ] kde-frameworks/knotifyconfig-5.40.0:5/5.40::gentoo  USE="-debug -doc -phonon*" 0 KiB
[ebuild   R    ] kde-apps/kio-extras-17.08.3:5::gentoo  USE="handbook man mtp sftp -activities* -debug -htmlthumbs -openexr -phonon* -samba -slp -taglib {-test}" 0 KiB
[ebuild   R    ] kde-apps/gwenview-17.08.3:5::gentoo  USE="X handbook -debug -kipi* -raw -semantic-desktop* {-test}" 0 KiB
[ebuild   R    ] kde-plasma/breeze-5.11.5:5::gentoo  USE="X -debug -qt4* -wayland" 0 KiB
[ebuild   R    ] kde-apps/dolphin-17.08.3:5::gentoo  USE="handbook -debug -semantic-desktop* {-test} -thumbnail" 0 KiB
[ebuild   R    ] kde-plasma/oxygen-5.11.5:5::gentoo  USE="-debug -qt4* -wayland" 0 KiB
[ebuild   R    ] kde-plasma/powerdevil-5.11.5:5::gentoo  USE="handbook wireless -consolekit* -debug" 0 KiB
[ebuild   R    ] net-print/cups-2.1.4::gentoo  USE="X acl pam ssl threads -dbus* -debug -java -kerberos -lprng-compat -python (-selinux) -static-libs -systemd -usb* -xinetd -zeroconf" PYTHON_TARGETS="python2_7" 0 KiB
[ebuild   R    ] app-text/ghostscript-gpl-9.21::gentoo  USE="X cups gtk unicode -dbus* -static-libs -tiff*" L10N="-de -ja -ko -zh-CN -zh-TW" 0 KiB
[ebuild   R    ] net-print/hplip-3.17.10::gentoo  USE="X hpcups scanner snmp -doc -fax -hpijs -kde* -libressl -libusb0 -minimal -parport -policykit* -qt5* -static-ppds" PYTHON_SINGLE_TARGET="python3_5 -python2_7 -python3_4 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB
[ebuild  N     ] x11-misc/notification-daemon-3.14.1::gentoo  0 KiB
[ebuild   R    ] virtual/notification-daemon-0::gentoo  USE="-gnome -kde*" 0 KiB

Total: 18 packages (1 new, 17 reinstalls), Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-qt/qtgui:5

  (dev-qt/qtgui-5.7.1-r1:5/5.7::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-qt/qtgui-5.7.1:5[egl] required by (kde-frameworks/kwayland-5.40.0:5/5.40::gentoo, installed)
                           ^^^
    ~dev-qt/qtgui-5.7.1[egl] required by (dev-qt/qtwayland-5.7.1:5/5.7::gentoo, ebuild scheduled for merge)
                        ^^^

office ~ #


Thanks for the pointer on the phonon - that was my next problem i was tackling. curious how you knew it was in my accept_keywords!?
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6180
Location: Austria

PostPosted: Thu Mar 01, 2018 10:22 pm    Post subject: Reply with quote

beerbellyswan wrote:
adding the "--deep" switch didn't do anything:

It certainly added more packages to the list.

Quote:
Thanks for the pointer on the phonon - that was my next problem i was tackling. curious how you knew it was in my accept_keywords!?

I know you accept only stable keyword, I personally bumped media-libs/phonon-4.10.0, so I know it is not stable, but it appeared in your list => package.accept_keywords is the only possible explanation.

Let's not re-invent the wheel. You know you want desktop settings, then just leech the existing desktop package.use flags for your local setup, at least for qt:

Code:
grep -RHC1 ^dev-qt /usr/portage/profiles/targets/desktop
/usr/portage/profiles/targets/desktop/plasma/package.use-# Required by kde-apps/okteta
/usr/portage/profiles/targets/desktop/plasma/package.use:dev-qt/qtscript:5 scripttools
/usr/portage/profiles/targets/desktop/plasma/package.use-
/usr/portage/profiles/targets/desktop/plasma/package.use-# Required by kde-apps/akonadi
/usr/portage/profiles/targets/desktop/plasma/package.use:dev-qt/qtsql:5 mysql
/usr/portage/profiles/targets/desktop/plasma/package.use-
--
/usr/portage/profiles/targets/desktop/package.use-# Required by kde-frameworks/kcoreaddons
/usr/portage/profiles/targets/desktop/package.use:dev-qt/qtcore:5 icu
/usr/portage/profiles/targets/desktop/package.use-
--
/usr/portage/profiles/targets/desktop/package.use-# Required by kde-frameworks/kwayland
/usr/portage/profiles/targets/desktop/package.use:dev-qt/qtgui:5 egl libinput
/usr/portage/profiles/targets/desktop/package.use-
--
/usr/portage/profiles/targets/desktop/package.use.mask-dev-python/PyQt5 gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qt3d gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtdatavis3d gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtdeclarative gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtgui gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtmultimedia gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtopengl gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtprintsupport gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtwebkit gles2
/usr/portage/profiles/targets/desktop/package.use.mask:dev-qt/qtwidgets gles2
/usr/portage/profiles/targets/desktop/package.use.mask-kde-apps/kdenlive gles2

so, package.use entries you want. package.use.mask entries you *don't* want.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
beerbellyswan
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2004
Posts: 86
Location: mendon, ny

PostPosted: Sun Mar 04, 2018 9:46 pm    Post subject: RESOLVED: qtgui, qtopengl, and kwayland compatibility with Reply with quote

@asturm - thats perfect, it did the trick finally. it didn't work out-of-the box, but it gave me enough of a starting point to make progress. This ended up being my final package.use:

Code:

office ~ # cat /etc/portage/package.use
# Generated by grep -RHC1 ^dev-qt /usr/portage/profiles/targets/desktop
# Required by kde-apps/okteta
dev-qt/qtscript:5 scripttools

# Required by kde-apps/akonadi
dev-qt/qtsql:5 mysql

# Required by kde-frameworks/kcoreaddons
dev-qt/qtcore:5 icu

# Required by kde-frameworks/kwayland
dev-qt/qtgui:5 egl libinput jpeg dbus

>=dev-qt/qtdeclarative-4.8.7:4 qt3support
>=dev-qt/qtgui-4.8.7:4 qt3support
>=dev-qt/qtopengl-4.8.7:4 qt3support
>=dev-qt/qtsql-4.8.7-r1:4 qt3support
>=dev-qt/qtcore-4.8.7-r4:4 qt3support


really i had to undo everything portage had previously been telling me were required use flags for specific packages, then start with your suggested desktop settings. then one-by-one add in use flags suggested by portage got me to that final working version.

thank you!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum