Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Would like a closed form solution for emerging Qt
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Wed Mar 25, 2020 11:08 pm    Post subject: Would like a closed form solution for emerging Qt Reply with quote

I have been running KDE and Qt for many years now and updates to Qt are always a nightmare. This is odd because I earned my living doing Qt on Windows for several years and I know that minor versions of Qt are almost always binary compatible. New versions will work with the calling programs without even recompiling.

Currently a new version of Qt on Gentoo means I have to hand compile every routine in Qt with code like "emerge --update --nodeps <qtroutine>". Once that is complete, I look through the results of an "emerge --newuse --deep --update --with-bdeps=y world" to see what I forgot or didn't show up in the list of Qt routines. I'm struggling with that problem now.

There must be a way that this can be done in a cleaner form. What am I missing?
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Thu Mar 26, 2020 1:10 am    Post subject: Reply with quote

I have no idea what you are doing, `emerge -uvaDq world` works fine on multiple systems for me.




asturm wrote:
I have no idea what you are doing


...but you can change that...

Featherfoot wrote:
I'm struggling with that problem now.


...by revealing your problem.
_________________
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
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Thu Mar 26, 2020 1:35 am    Post subject: Reply with quote

The problem is, and always has been that when you get a version of Qt, you have to use the --nndeps option to get it to emerge because of the claimed conflicts with routines that were built on previous versions of Qt. At the end there are some dependencies that must resolve. If you have a list of all of the Qt routines, you can manually emerge all of the routines. Lately, when Qt updates, not all of the routines are listed and the world goes to hell when there are links with old routines and new ones.

If I were a hotshot bash guy I could probably make a macro that lists everything in /dev-qt and emerges that one at a time. Sometimes I wish I weren't such a USER.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Thu Mar 26, 2020 1:40 am    Post subject: Reply with quote

No you don't have to use --nodeps at all. Never. ever. do that.

All the recent examples I've seen of "Qt conflicts" had actually nothing to do with Qt. When it is not a user who tries to update a single Qt package or has a partially unmasked range of Qt packages then it is simply some other conflict and Portage's very verbose way to tell you about it.
_________________
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
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Thu Mar 26, 2020 1:44 am    Post subject: Reply with quote

I'm sure you are more up to date on this than I am, but on the last update, and all previous ones I've seen, there are many dependency conflicts that must be resolved. It is not like "emerge -au world". This is given that I have a running and apprently consistent KDE system.

What am I doing wrong?
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Thu Mar 26, 2020 1:44 am    Post subject: Reply with quote

Show us your next conflict and we don't have to speculate.

For a very recent example where none of the conflicts we had to solve were Qt related at all, just read https://forums.gentoo.org/viewtopic-t-1110334.html
_________________
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
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Thu Mar 26, 2020 1:47 am    Post subject: Reply with quote

Unfortunately I will have to wait for the next update of Qt to show you what it looks like.

I complained about the remnants of my last update in this post:
https://forums.gentoo.org/viewtopic-t-1110360-highlight-.html
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Thu Mar 26, 2020 1:53 am    Post subject: Reply with quote

If you conveniently had been using --nodeps there already, I would not waste my time trying to diagnose it, but it looks like a failed upgrade in between.

What you didn't try from that output was a suggestion made by Portage in that very same output:

Code:
You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.



PS: I would reject the whole concept of a 'closed form solution' for problems in Gentoo. You gain experience through trouble solving, by seeking help, and you need to be able to apply that experience on new issues as they come.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic


Last edited by asturm on Thu Mar 26, 2020 2:03 am; edited 1 time in total
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Thu Mar 26, 2020 2:02 am    Post subject: Reply with quote

I have been doing this for a long time and I have been told more than once that the --nodeps option is what is required for Qt. Next time I will involve you, but the emerge output was a mess.

I have been trying very hard to have a simple, released system, with very few keyworded packages (none is not reasonable.) to avoid problems like this.

Your suggestion of using --backtrack worked.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Thu Mar 26, 2020 2:04 am    Post subject: Reply with quote

Featherfoot wrote:
Your suggestion of using --backtrack worked.


See, that easy. ;)

It is why I often just quote the relevant passage from users' output in the hope it helps them identify the pattern on future issues.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic


Last edited by asturm on Thu Mar 26, 2020 2:07 am; edited 1 time in total
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Thu Mar 26, 2020 2:06 am    Post subject: Reply with quote

It is when you know what to try.

Thank you for your help. As usual, it was very useful.
Back to top
View user's profile Send private message
spikyatlinux
n00b
n00b


Joined: 18 Sep 2010
Posts: 30

PostPosted: Thu Mar 26, 2020 5:57 pm    Post subject: Reply with quote

What´s about https://wiki.gentoo.org/wiki/Qt/FAQ ?

I´ve updated my qt packages so without any problems.

Code:
1. List all installed qt packages:
root #export INSTALLED_QT_PACKAGES=$(eix --only-names -IC dev-qt)

2. Save tarballs of the old versions should we have to roll back:
root #quickpkg ${INSTALLED_QT_PACKAGES}

3. Unmerge old version and emerge new version:
root #emerge -Ca ${INSTALLED_QT_PACKAGES} && emerge -av1 ${INSTALLED_QT_PACKAGES}

Should we need to roll back, then we can emerge the packaged versions:
root #emerge -av1 --usepkgonly ${INSTALLED_QT_PACKAGES}


I used
Code:
export INSTALLED_QT_PACKAGES > myqtpkgs
also.

Regards
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Thu Mar 26, 2020 7:31 pm    Post subject: Reply with quote

That is advice from 2012 - a time when slot operator dependencies did not exist yet.
_________________
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
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Fri Apr 03, 2020 9:21 pm    Post subject: Reply with quote

OK: Here's your challenge, much earlier than I expected. Lots of cryptic problems.

Code:

bopper /home/jc # emerge world -au --backtrack=40

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

Calculating dependencies... done!
[ebuild     U  ] dev-qt/qtgui-5.14.1-r4 [5.14.1-r3] USE="-gles2-only%"
[ebuild     U  ] dev-qt/qtwidgets-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] dev-qt/qtopengl-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] dev-ruby/json-2.3.0 [2.2.0] RUBY_TARGETS="(-ruby27)"
[ebuild     U  ] dev-qt/qtprintsupport-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] dev-qt/qtdeclarative-5.14.1-r2 [5.14.1-r1] USE="-gles2-only%"
[ebuild     U  ] dev-qt/qtwayland-5.14.1-r3 [5.14.1-r2]
[ebuild     U  ] dev-qt/qt3d-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] dev-qt/qtdatavis3d-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] dev-qt/qtwebkit-5.212.0_pre20190629-r1 [5.212.0_pre20190629] USE="-gles2-only%"
[ebuild     U  ] kde-apps/analitza-19.12.3-r1 [19.12.3]
[ebuild     U  ] dev-qt/qtmultimedia-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] www-client/firefox-68.6.0-r4 [68.6.0-r3]
[ebuild     U  ] dev-python/PyQt5-5.14.1-r1 [5.14.1] USE="-gles2-only%"
[ebuild     U  ] kde-plasma/kinfocenter-5.17.5-r1 [5.17.5] USE="-gles2-only%"
[ebuild     U  ] kde-plasma/kwin-5.17.5-r1 [5.17.5] USE="-gles2-only%"

!!! 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.14.1-r4:5/5.14.1::gentoo, ebuild scheduled for merge) USE="X dbus egl gif jpeg libinput png udev wayland -accessibility -debug -eglfs -evdev -gles2-only -ibus -test -tslib -tuio -vnc -vulkan" ABI_X86="(64)" pulled in by
    ~dev-qt/qtgui-5.14.1[gles2-only=,png=,X?] required by (dev-qt/qtwidgets-5.14.1-r1:5/5.14::gentoo, ebuild scheduled for merge) USE="X png -debug -gles2-only -gtk -test" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                               
    >=dev-qt/qtgui-5.12.3:5[gles2-only=] required by (kde-plasma/kinfocenter-5.17.5-r1:5/5::gentoo, ebuild scheduled for merge) USE="handbook ieee1394 opengl pci wayland -debug -gles2-only" ABI_X86="(64)"
                            ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                 
    ~dev-qt/qtgui-5.14.1[gles2-only=] required by (dev-qt/qtdatavis3d-5.14.1-r1:5/5.14::gentoo, ebuild scheduled for merge) USE="qml -debug -gles2-only -test" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                                           
    >=dev-qt/qtgui-5.12.3:5=[gles2-only=] required by (kde-plasma/kwin-5.17.5-r1:5/5::gentoo, ebuild scheduled for merge) USE="caps handbook -debug -gles2-only -multimedia -test" ABI_X86="(64)"
                             ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                                 
    >=dev-qt/qtgui-5.9.1:5[gles2-only=] required by (dev-qt/qtwebkit-5.212.0_pre20190629-r1:5/5.212::gentoo, ebuild scheduled for merge) USE="X gstreamer hyphen jit nsplugin opengl printsupport qml -geolocation -gles2-only -multimedia -orientation -webp" ABI_X86="(64)"
                           ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    ~dev-qt/qtgui-5.14.1[gles2-only=] required by (dev-qt/qtopengl-5.14.1-r1:5/5.14::gentoo, ebuild scheduled for merge) USE="-debug -gles2-only -test" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                 
    ~dev-qt/qtgui-5.14.1[gles2-only=] required by (dev-qt/qtprintsupport-5.14.1-r1:5/5.14::gentoo, ebuild scheduled for merge) USE="cups -debug -gles2-only -test" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                                               
    >=dev-qt/qtgui-5.12.3:5[-gles2-only] required by (kde-apps/analitza-19.12.3-r1:5/5::gentoo, ebuild scheduled for merge) USE="nls -debug -eigen -test" ABI_X86="(64)"
                            ^^^^^^^^^^^                                                                                                                                                                                                                                                                   
    ~dev-qt/qtgui-5.14.1[gles2-only=] required by (dev-qt/qtmultimedia-5.14.1-r1:5/5.14::gentoo, ebuild scheduled for merge) USE="alsa gstreamer pulseaudio qml widgets -debug -gles2-only -openal -test" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                     
    >=dev-qt/qtgui-5.10:5[gles2-only=] required by (dev-python/PyQt5-5.14.1-r1:0/0::gentoo, ebuild scheduled for merge) USE="bluetooth dbus declarative examples gui multimedia network opengl printsupport ssl svg widgets -debug -designer -gles2-only -help -location -networkauth -positioning -sensors -serialport -sql -testlib -webchannel -webkit -websockets -x11extras -xmlpatterns" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 -python3_7 (-python3_8)"
                          ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
    ~dev-qt/qtgui-5.14.1[-gles2-only] required by (dev-qt/qtwayland-5.14.1-r3:5/5.14::gentoo, ebuild scheduled for merge) USE="X -debug -test -vulkan" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                                   
    ~dev-qt/qtgui-5.14.1[gles2-only=,vulkan=] required by (dev-qt/qtdeclarative-5.14.1-r2:5/5.14::gentoo, ebuild scheduled for merge) USE="jit localstorage widgets -debug -gles2-only -test -vulkan" ABI_X86="(64)"
                         ^^^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                           

  (dev-qt/qtgui-5.14.1-r3:5/5.14.1::gentoo, installed) USE="X dbus egl gif jpeg libinput png udev wayland -accessibility -debug -eglfs -evdev -gles2 -ibus -test -tslib -tuio -vnc -vulkan" ABI_X86="(64)" pulled in by
    >=dev-qt/qtgui-5.12.3:5/5.14.1=[-gles2] required by (kde-frameworks/plasma-5.67.0-r2:5/5.67::gentoo, installed) USE="X wayland -debug -doc -gles2 -test" ABI_X86="(64)"
                                    ^^^^^^                                                                                                                                                                                                                                                                                                         
    >=dev-qt/qtgui-5.12.3:5[-gles2] required by (kde-apps/kdenlive-19.12.3-r1:5/5::gentoo, installed) USE="handbook semantic-desktop v4l -debug -freesound -gles2 -share -test" ABI_X86="(64)"
                            ^^^^^^                                                                                                                                                                                                                                                                                                                                                                           


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


!!! The following installed packages are masked:
- dev-java/icedtea-web-1.6.2::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Georgy Yakovlev <gyakovlev@gentoo.org> (2020-03-27)
# Vulnerable old version of icedtea-web #711392
# new version uses maven + rust

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

bopper /home/jc #

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


Joined: 05 Apr 2007
Posts: 7480
Location: Austria

PostPosted: Fri Apr 03, 2020 10:07 pm    Post subject: Reply with quote

Increase scope with --deep.

Or could you imagine why kde-frameworks/plasma-5.67.0-r3 and kde-apps/kdenlive-19.12.3-r2 do not come up for update on your system?
_________________
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
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1033
Location: Stuart, Florida

PostPosted: Fri Apr 03, 2020 10:21 pm    Post subject: Reply with quote

It worked! Thank you.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments 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