View previous topic :: View next topic |
Author |
Message |
as.gentoo Guru
Joined: 07 Aug 2004 Posts: 319
|
Posted: Thu Sep 03, 2015 1:58 pm Post subject: How do I update from qt4 to qt5? |
|
|
Does anybody have experience with that?
For what I guess that's a big step, probably everything that's connected with QT and KDE has to be rebuild.
I tried to find out but this doesn't look good for me.
Code: | $> sysupdate
Password:
These are the packages that would be merged, in order:
Calculating dependencies ...
!!! Problem resolving dependencies for dev-games/openscenegraph from @selected
... done!
!!! The ebuild selected to satisfy "dev-games/openscenegraph" has unmet requirements.
- dev-games/openscenegraph-3.2.1-r1::gentoo USE="-asio -curl -debug -doc -examples ffmpeg -fltk -fox -gdal -gif -glut -gtk jpeg -jpeg2k -openexr -openinventor -osgapps -pdf png qt4 qt5 sdl svg -tiff truetype -vnc -wxwidgets -xine -xrandr zlib" ABI_X86="64"
The following REQUIRED_USE flag constraints are unsatisfied:
qt4? ( !qt5 ) qt5? ( !qt4 )
(dependency required by "@selected" [set])
(dependency required by "@world" [argument]) |
As far as I understand it tells me that I can either have qt4 or qt5. Ok, let's try:
Code: | $> sudo USE="qt5 -qt4" emerge -vuUND @world --backtrack=300
These are the packages that would be merged, in order:
Calculating dependencies ... done!
WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
app-text/poppler:0
(app-text/poppler-0.34.0:0/53::gentoo, ebuild scheduled for merge) conflicts with
>=app-text/poppler-0.20[qt4,-exceptions(-)] required by (kde-apps/okular-4.14.3:4/4.14::gentoo, installed)
^^^
app-text/poppler[qt4] required by (kde-base/kfilemetadata-4.14.3:4/4.14::gentoo, installed)
^^^
The following packages are causing rebuilds:
(dev-libs/boost-1.57.0:0/1.57.0::gentoo, ebuild scheduled for merge) causes rebuilds for:
(dev-cpp/libcmis-0.5.0-r1:0.5/0.5::gentoo, ebuild scheduled for merge)
(app-text/libwps-0.3.1:0/0::gentoo, ebuild scheduled for merge)
(kde-base/kdepim-runtime-4.14.10:4/4.14::gentoo, ebuild scheduled for merge)
!!! The ebuild selected to satisfy ">=app-office/akonadi-server-1.12.90" has unmet requirements.
- app-office/akonadi-server-1.13.0-r1::gentoo USE="-mysql postgres -qt4 (-qt5) -sqlite -test" ABI_X86="64"
The following REQUIRED_USE flag constraints are unsatisfied:
exactly-one-of ( qt4 qt5 )
The above constraints are a subset of the following complete expression:
exactly-one-of ( qt4 qt5 ) any-of ( sqlite mysql postgres )
(dependency required by "kde-base/kdepim-runtime-4.14.10::gentoo" [ebuild])
(dependency required by "@__auto_slot_operator_replace_installed__" [argument]) |
What are the exactly-one messages? USE="qt5 -qt4" is exactly one.
Why does okular need qt4? Shoudn't it work with qt5 as well?!
Why does akonadi-server have -qt4 -qt5 when I wrote USE="qt5 -qt4"?
Code: | $> sudo USE="qt4 -qt5" emerge -vuUND @world --backtrack=300
[...]
Total: 175 packages (96 upgrades, 49 new, 12 in new slots, 18 reinstalls, 4 uninstalls), Size of downloads: 421,622 KiB
Conflict: 5 blocks
WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
dev-libs/liborcus:0
(dev-libs/liborcus-0.9.2:0/0.10::gentoo, ebuild scheduled for merge) conflicts with
=dev-libs/liborcus-0.7* required by (app-office/libreoffice-4.4.5.2:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^
dev-libs/boost:0
(dev-libs/boost-1.57.0:0/1.57.0::gentoo, ebuild scheduled for merge) conflicts with
dev-libs/boost:0/1.56.0= required by (kde-base/kleopatra-4.14.10:4/4.14::gentoo, installed)
^^^^^^^^^^
The following packages are causing rebuilds:
(app-text/poppler-0.35.0:0/54::gentoo, ebuild scheduled for merge) causes rebuilds for:
(net-print/cups-filters-1.0.74:0/0::gentoo, ebuild scheduled for merge)
(app-office/libreoffice-4.4.5.2:0/0::gentoo, ebuild scheduled for merge)
(dev-python/python-poppler-0.12.1-r4:0/0::gentoo, ebuild scheduled for merge)
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by kde-plasma/polkit-kde-agent-5.4.0::gentoo
# required by kde-frameworks/kauth-5.13.0::gentoo
# required by kde-frameworks/kdelibs4support-5.13.0::gentoo
# required by kde-apps/kmix-15.08.0::gentoo
# required by @selected
# required by @world (argument)
>=sys-auth/polkit-qt-0.112.0-r1 qt5
# required by kde-frameworks/knotifications-5.13.0::gentoo[dbus]
# required by kde-apps/kmix-15.08.0::gentoo
# required by @selected
# required by @world (argument)
>=dev-libs/libdbusmenu-qt-0.9.3_pre20140619-r1 qt5
# required by media-libs/phonon-4.8.3-r1::gentoo[vlc]
# required by kde-frameworks/knotifications-5.13.0::gentoo
# required by kde-apps/kmix-15.08.0::gentoo
# required by @selected
# required by @world (argument)
>=media-libs/phonon-vlc-0.8.2 qt5
# required by games-engines/openmw-0.36.1::gentoo
# required by @selected
# required by @world (argument)
>=dev-games/ogre-1.9.0-r3 ois
# required by kde-frameworks/kcoreaddons-5.13.0::gentoo
# required by kde-frameworks/kio-5.13.0::gentoo
# required by kde-frameworks/kinit-5.13.0::gentoo
# required by kde-frameworks/kded-5.13.0::gentoo
>=dev-qt/qtcore-5.4.2 icu
# required by media-libs/phonon-vlc-0.8.2::gentoo
>=media-libs/phonon-4.8.3-r1 qt5 | I just stated: only QT4 (since qt5 didn't work), why should I add the qt5 USE flag to those packages now?
Code: | [ebuild R ] media-libs/phonon-4.8.3-r1::gentoo USE="(-aqua) -debug designer -gstreamer pulseaudio qt4 qt5* vlc (-zeitgeist)" ABI_X86="-32 (64) (-x32)" 0 KiB | This basically means, "In general you can not have qt4 abd qt5 at the sane time - but right here you have to have both"?
What's the way to have a qt5 only (or qt5 & qt4) system - without setting it up completely from the scratch? |
|
Back to top |
|
|
Roman_Gruber Advocate
Joined: 03 Oct 2006 Posts: 3846 Location: Austro Bavaria
|
Posted: Thu Sep 03, 2015 2:28 pm Post subject: |
|
|
Quote: | qt4? ( !qt5 ) qt5? ( !qt4 ) |
Means you need to decide if you want qt4 or qt5 for that particular package. but you are not allowed to use both!
for example vlc has the same constraint
Code: | grep vlc /etc/portage/package.use
media-video/vlc -gnutls
app-office/libreoffice -gtk -mysql -vlc
media-video/vlc -qt4
|
but much better would be, and I will change that now
media-video/vlc -qt4 qt5 -gnutls
you can eanble qt5 support for packages but you are may be better of doing it on a package basis for qt4 / qt5 ...
Quote: | dev-libs/liborcus:0
(dev-libs/liborcus-0.9.2:0/0.10::gentoo, ebuild scheduled for merge) conflicts with
=dev-libs/liborcus-0.7* required by (app-office/libreoffice-4.4.5.2:0/0::gentoo, ebuild scheduled for merge) |
just mask orcus 0.9.x in package.mask
Quote: | I just stated: only QT4 (since qt5 didn't work), why should I add the qt5 USE flag to those packages now? |
Just a matter of choice. you can run for example vlc without qt also, just cvlc,
same choice as with ffmpeg or libav => now it is most of the packages qt4 or qt5 |
|
Back to top |
|
|
as.gentoo Guru
Joined: 07 Aug 2004 Posts: 319
|
Posted: Thu Sep 03, 2015 8:18 pm Post subject: |
|
|
Thanks for replying and explaining! I masked the packages and those errors are not shown anymore.
It looks like I can not have qt4-only. Why would qtcore-5.x be installed when I'm not explicitly asking for it?
Code: | [ebuild NS ] dev-qt/qtcore-5.4.2:5::gentoo [4.8.7:4::gentoo] USE="-debug icu -systemd {-test}" 0 KiB |
Now, I can understand that this is needed for some reasons, but it would be nice if the user was given some information about the why and how. (Portage) News are used for such things, for libav/ffmpeg-have-to-choose, for the python-versions selection and consequences, why grub2 is standard now, gcc versions - aren't they usually? Something like the following would have been nice: Quote: | QT5 is now automatically installed in an own slot on all KDE systems. For the time being it will coexist with QT4. This means that you can not replace one by the other due to packages that are not completely available for QT5 yet.(?) [We will notify you in another news message as soon as it is possible to upgrade completely.]
Some packages need you to deceide between QT5 and QT4 since packages for both versions exist and they are not cross compatible*. However, there are other packages that demand the USE flag of the other version, e.g. you need to set qt4 for app-text/poppler even if you state USE="-qt4 qt5". These packages are only available for that specific QT version(?). Take a look in your profiles setting for specific settings as well.** |
That's how I understood by now. Porbably some parts are incorrect.
* I'd leave everything as it as it worked (default == qt4). But well, there will be reasons to do it as you did. It's always better to know what happens why, at least on a very basic level.
** As far as I could see /var/portage/profiles/targets/desktop/make.defaults (still) contains qt3support and qt4 but no qt5. (grep -iR qt /var/portage/profiles/targets/)
Code: |
$> sudo USE="-qt4 qt5" emerge -vuUND @world --backtrack=3000
Total: 187 packages (96 upgrades, 49 new, 14 in new slots, 28 reinstalls, 4 uninstalls), Size of downloads: 424,949 KiB
Conflict: 5 blocks
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
[...]
dev-libs/libdbusmenu-qt:0
(dev-libs/libdbusmenu-qt-0.9.3_pre20140619-r1:0/0::gentoo, ebuild scheduled for merge) pulled in by
dev-libs/libdbusmenu-qt[qt5] required by (kde-frameworks/knotifications-5.13.0:5/5.13::gentoo, ebuild scheduled for merge)
^^^
(dev-libs/libdbusmenu-qt-0.9.3_pre20140619-r1:0/0::gentoo, installed) pulled in by
>=dev-libs/libdbusmenu-qt-0.3.2[qt4(+)] required by (kde-base/kdelibs-4.14.11:4/4.14::gentoo, installed)
[...]
| Here I explicitly said qt5 only. Why do I need to mask qt4 ebuilds by hand? Or do I need to do something else?
(dev-libs/libdbusmenu-qt-0.9.3_pre20140619-r1:0/0::gentoo, installed) pulled in by
>=dev-libs/libdbusmenu-qt-0.3.2[qt4(+)] required by (kde-base/kdelibs-4.14.11:4/4.14::gentoo, installed)
Code: | Just a matter of choice. you can run for example vlc without qt also, just cvlc, |
I'd like to have vlc with GUI. Since I use KDE it would be with qt then. |
|
Back to top |
|
|
Roman_Gruber Advocate
Joined: 03 Oct 2006 Posts: 3846 Location: Austro Bavaria
|
Posted: Fri Sep 04, 2015 9:34 am Post subject: |
|
|
well
when you want to mask qt5 on your box you should add
echo "dev-qt/*:5" >> /etc/portage/package.mask
Than you may check with eix for example if any of those qt 5 stuff got masked. |
|
Back to top |
|
|
as.gentoo Guru
Joined: 07 Aug 2004 Posts: 319
|
Posted: Wed Sep 09, 2015 6:29 pm Post subject: |
|
|
Ok, thanks! |
|
Back to top |
|
|
kensington Developer
Joined: 02 Jan 2013 Posts: 177 Location: Australia
|
Posted: Thu Sep 10, 2015 11:19 am Post subject: |
|
|
There is no news item or upgrade guide because there is no special upgrade required, and in most cases there is no user impact.
Some applications are Qt4-only, some are Qt5-only, and some offer the choice of which to use. It's tricky to cherry-pick packages to have a system with only one version of Qt installed, so it's better to just let each package pull in its required dependencies are usual. |
|
Back to top |
|
|
as.gentoo Guru
Joined: 07 Aug 2004 Posts: 319
|
Posted: Thu Sep 10, 2015 11:51 am Post subject: |
|
|
Well - initially - it was not clear to me that this is not an update in the common sense like from qt4/* to qt5/* but some kind of smooth transition between qt4 and qt5 keeping some qt4 packages here and updating some others to qt5 there.
So I'd have appreciated a news item about that. Probably the "you-should-set-these-use-flags-to-make-it-work" functionality of portage had a part in confusing me because it wrote: "you need to add the qt5 use flag or 'emerge -vuUND @world' will fail. The packages to update was quite a bunch.
I might have still complained that I'd like to have the choice to stay qt4 only. tw04l124 showed me how to do that.
Anyhow, I'm a bit wiser now.
Thanks to everyone! |
|
Back to top |
|
|
|
|
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
|
|