Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Unable to Install Calibre - USE Flag Conflict? [SOLVED]
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
juanatix
n00b
n00b


Joined: 13 Jun 2024
Posts: 6
Location: USA

PostPosted: Fri Jun 14, 2024 10:52 pm    Post subject: Unable to Install Calibre - USE Flag Conflict? [SOLVED] Reply with quote

I've been a Gentoo user for a couple weeks now and hit a road block trying to figure this one out. If anyone would be gracious enough to help me understand what I'm doing wrong I'd greatly appreciate it.

Upon trying to install app-text/calibre-7.10.0 I'm greeted with this message:
Code:

~ $ sudo emerge -av calibre

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

Calculating dependencies... done!
Dependency resolution took 0.69 s (backtrack: 0/20).

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-python/pillow-10.3.0 truetype webp
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-python/PyQt6-6.7.0 quick svg opengl


So I added those USE changes to /etc/portage/package.use and try to emerge calibre again, only to receive with this error:
Code:

~ $ sudo emerge -av calibre

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

Calculating dependencies... done!
Dependency resolution took 0.68 s (backtrack: 0/20).

!!! The ebuild selected to satisfy "dev-python/PyQt6[gui,network,opengl,printsupport,quick,svg,widgets,python_targets_python3_12(-)]" has unmet requirements.
- dev-python/PyQt6-6.7.0::gentoo USE="dbus gui network opengl printsupport quick sql ssl svg widgets xml -bluetooth -debug -designer -examples -gles2-only -help -multimedia -nfc -pdfium -positioning -qml -quick3d -sensors -serialport -spatialaudio -speech -testlib -webchannel -websockets" ABI_X86="(64)" PYTHON_TARGETS="python3_12 -python3_10 -python3_11"

  The following REQUIRED_USE flag constraints are unsatisfied:
    quick? ( qml )

  The above constraints are a subset of the following complete expression:
    designer? ( gui widgets ) help? ( gui widgets ) multimedia? ( gui network ) opengl? ( gui ) pdfium? ( gui ) printsupport? ( gui widgets ) qml? ( network ) quick3d? ( gui qml ) quick? ( gui qml ) spatialaudio? ( multimedia ) sql? ( widgets ) svg? ( gui ) testlib? ( gui widgets ) webchannel? ( network ) websockets? ( network ) widgets? ( gui ) any-of ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 )

(dependency required by "app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]" [ebuild])
(dependency required by "calibre" [argument])
~ $


Ok, simple enough. Add "qml" to the >=dev-python/PyQt6-6.7.0 entry in package.use, right? Done. Let's try again. Attempting to install calibre yet again I see the following:
Code:

Total: 50 packages (46 new, 1 in new slot, 3 reinstalls), Size of downloads: 654,716 KiB

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

dev-qt/qtbase:6

  (dev-qt/qtbase-6.7.1:6/6.7.1::gentoo, installed) USE="X concurrent dbus gui libinput network nls opengl sql sqlite ssl udev widgets xml (zstd) -accessibility -brotli -cups -eglfs -evdev -gles2-only -gssapi -gtk -icu -libproxy -mysql -oci8 -odbc -postgres -renderdoc -sctp -test -tslib -vulkan -wayland" ABI_X86="(64)" pulled in by
    ~dev-qt/qtbase-6.7.1:6[gles2-only=,gui,opengl,widgets] required by (dev-qt/qtcharts-6.7.1:6/6.7.1::gentoo, installed) USE="-gles2-only -qml -test" ABI_X86="(64)"
                                           ^^^^^^                                                                                                                                                                                                                                   
    ~dev-qt/qtbase-6.7.1:6[opengl=] required by (dev-qt/qttools-6.7.1:6/6.7.1::gentoo, installed) USE="assistant linguist opengl qdbus widgets (zstd) -clang -designer -distancefieldgenerator -gles2-only -pixeltool -qdoc -qml -qtattributionsscanner -qtdiag -qtplugininfo -vulkan" ABI_X86="(64)" LLVM_SLOT="17 -15 -16 (-18)"
                           ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    >=dev-qt/qtbase-6.7:6=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?] required by (dev-python/PyQt6-6.7.0:0/0::gentoo, ebuild scheduled for merge) USE="dbus gui network opengl printsupport qml quick sql ssl svg webchannel widgets xml -bluetooth -debug -designer -examples -gles2-only -help -multimedia -nfc -pdfium -positioning -quick3d -sensors -serialport -spatialaudio -speech -testlib -websockets" ABI_X86="(64)" PYTHON_TARGETS="python3_12 -python3_10 -python3_11"
                                                           ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
  (dev-qt/qtbase-6.7.1:6/6.7.1::gentoo, ebuild scheduled for merge) USE="X concurrent dbus gui libinput network nls sql sqlite ssl udev widgets xml (zstd) -accessibility -brotli -cups -eglfs -evdev -gles2-only -gssapi -gtk -icu -libproxy -mysql -oci8 -odbc -opengl -postgres -renderdoc -sctp -test -tslib -vulkan -wayland" ABI_X86="(64)" pulled in by
    ~dev-qt/qtbase-6.7.1:6[accessibility=,gui,opengl=,vulkan?,widgets?] required by (dev-qt/qtwebengine-6.7.1:6/6.7.1::gentoo, ebuild scheduled for merge) USE="alsa jumbo-build system-icu widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -opengl -pdfium -pulseaudio -qml -screencast -test -vaapi -vulkan -webdriver" ABI_X86="(64)"
                                              ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    (and 1 more with the same problem)

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It might be possible to solve this slot collision
by applying one of the following solutions:
   - dev-qt/qtbase-6.7.1 (Change USE: +gles2-only +opengl)
   - dev-python/PyQt6-6.7.0 (Change USE: +gles2-only)
   - dev-qt/qtwebengine-6.7.1 (Change USE: +opengl)
   - dev-qt/qtcharts-6.7.1 (Change USE: +gles2-only)


The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-python/PyQt6-WebEngine-6.7.0::gentoo[widgets]
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-python/PyQt6-6.7.0 webchannel
# required by dev-qt/qtwebengine-6.7.1::gentoo
# required by dev-python/PyQt6-WebEngine-6.7.0::gentoo
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-libs/libxml2-2.12.6 icu
# required by dev-qt/qtwebengine-6.7.1::gentoo
# required by dev-python/PyQt6-WebEngine-6.7.0::gentoo
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-qt/qtbase-6.7.1 -opengl
# required by dev-python/PyQt6-6.7.0::gentoo[quick]
# required by dev-python/PyQt6-WebEngine-6.7.0::gentoo
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-qt/qtdeclarative-6.7.1 opengl


And this where things go off the rails. I tried the slot collision suggestions, all of which seem to produce more issues. So for the sake of this post, I'll make the suggested USE changes to /etc/portage/package.use.

So far, here are the changes (additions) I've made to package.use:
Code:

>=dev-python/PyQt6-6.7.0 quick svg opengl qml webchannel
>=dev-libs/libxml2-2.12.6 icu
>=dev-qt/qtbase-6.7.1 -opengl
>=dev-qt/qtdeclarative-6.7.1 opengl


Lets try to emerge calibre again:
Code:

Total: 50 packages (46 new, 1 in new slot, 3 reinstalls), Size of downloads: 654,716 KiB

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

dev-qt/qtbase:6

  (dev-qt/qtbase-6.7.1:6/6.7.1::gentoo, installed) USE="X concurrent dbus gui libinput network nls opengl sql sqlite ssl udev widgets xml (zstd) -accessibility -brotli -cups -eglfs -evdev -gles2-only -gssapi -gtk -icu -libproxy -mysql -oci8 -odbc -postgres -renderdoc -sctp -test -tslib -vulkan -wayland" ABI_X86="(64)" pulled in by
    ~dev-qt/qtbase-6.7.1:6[gles2-only=,gui,opengl,widgets] required by (dev-qt/qtcharts-6.7.1:6/6.7.1::gentoo, installed) USE="-gles2-only -qml -test" ABI_X86="(64)"
                                           ^^^^^^                                                                                                                                                                                                                                   
    >=dev-qt/qtbase-6.7:6=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?] required by (dev-python/PyQt6-6.7.0:0/0::gentoo, ebuild scheduled for merge) USE="dbus gui network opengl printsupport qml quick sql ssl svg webchannel widgets xml -bluetooth -debug -designer -examples -gles2-only -help -multimedia -nfc -pdfium -positioning -quick3d -sensors -serialport -spatialaudio -speech -testlib -websockets" ABI_X86="(64)" PYTHON_TARGETS="python3_12 -python3_10 -python3_11"
                                                           ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
    ~dev-qt/qtbase-6.7.1:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] required by (dev-qt/qtdeclarative-6.7.1:6/6.7.1::gentoo, ebuild scheduled for merge) USE="jit network opengl sql ssl widgets -accessibility -qmlls -svg -vulkan" ABI_X86="(64)"
                                                       ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
    ~dev-qt/qtbase-6.7.1:6[opengl=] required by (dev-qt/qttools-6.7.1:6/6.7.1::gentoo, installed) USE="assistant linguist opengl qdbus widgets (zstd) -clang -designer -distancefieldgenerator -gles2-only -pixeltool -qdoc -qml -qtattributionsscanner -qtdiag -qtplugininfo -vulkan" ABI_X86="(64)" LLVM_SLOT="17 -15 -16 (-18)"
                           ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

  (dev-qt/qtbase-6.7.1:6/6.7.1::gentoo, ebuild scheduled for merge) USE="X concurrent dbus gui libinput network nls sql sqlite ssl udev widgets xml (zstd) -accessibility -brotli -cups -eglfs -evdev -gles2-only -gssapi -gtk -icu -libproxy -mysql -oci8 -odbc -opengl -postgres -renderdoc -sctp -test -tslib -vulkan -wayland" ABI_X86="(64)" pulled in by
    ~dev-qt/qtbase-6.7.1:6[accessibility=,gui,opengl=,vulkan?,widgets?] required by (dev-qt/qtwebengine-6.7.1:6/6.7.1::gentoo, ebuild scheduled for merge) USE="alsa jumbo-build system-icu widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -opengl -pdfium -pulseaudio -qml -screencast -test -vaapi -vulkan -webdriver" ABI_X86="(64)"
                                              ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   


It might be possible to solve this slot collision
by applying one of the following solutions:
   - dev-qt/qtbase-6.7.1 (Change USE: +gles2-only +opengl +accessibility +vulkan)
   - dev-qt/qtcharts-6.7.1 (Change USE: +gles2-only)
   - dev-qt/qtdeclarative-6.7.1 (Change USE: +accessibility +vulkan)
   - dev-python/PyQt6-6.7.0 (Change USE: +gles2-only)
   - dev-qt/qtwebengine-6.7.1 (Change USE: +opengl +accessibility)


So at this point I found an article on the wiki about slot conflicts, so (out of desperation not really thinking it'd help) I tried:
Code:
emerge --ask --oneshot dev-qt/qtbase-6.7.1


Only to end up receiving the same message. If I implement the 1st suggested solution of editing USE flags for qtbase (+gles2-only +opengl +accessibility +vulkan) I see the following:
Code:

~ $ sudo emerge -av calibre

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

Calculating dependencies... done!
Dependency resolution took 0.93 s (backtrack: 0/20).


The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-qt/qtwebengine-6.7.1::gentoo
# required by dev-python/PyQt6-WebEngine-6.7.0::gentoo
# required by app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]
# required by calibre (argument)
>=dev-qt/qtbase-6.7.1 -opengl -accessibility


Ok, let's remove those USE flags from /etc/portage/package.use and try again:
Code:

~ $ sudo emerge -av calibre

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

Calculating dependencies... done!
Dependency resolution took 0.92 s (backtrack: 0/20).


!!! The ebuild selected to satisfy "~dev-qt/qtbase-6.7.1:6[accessibility=,gui,opengl=,vulkan?,widgets?]" has unmet requirements.
- dev-qt/qtbase-6.7.1::gentoo USE="X concurrent dbus gles2-only gui libinput network nls sql sqlite ssl udev vulkan widgets xml (zstd) -accessibility -brotli -cups -eglfs -evdev -gssapi -gtk -icu -libproxy -mysql -oci8 -odbc -opengl -postgres -renderdoc -sctp -test -tslib -wayland" ABI_X86="(64)"

  The following REQUIRED_USE flag constraints are unsatisfied:
    gles2-only? ( opengl )

  The above constraints are a subset of the following complete expression:
    X? ( gui ) accessibility? ( gui ) eglfs? ( gui ) evdev? ( gui ) gles2-only? ( gui ) libinput? ( gui ) opengl? ( gui ) renderdoc? ( gui ) tslib? ( gui ) vulkan? ( gui ) wayland? ( gui ) widgets? ( gui ) brotli? ( network ) gssapi? ( network ) libproxy? ( network ) sctp? ( network ) mysql? ( sql ) oci8? ( sql ) odbc? ( sql ) postgres? ( sql ) sqlite? ( sql ) cups? ( gui widgets ) gtk? ( gui widgets ) accessibility? ( dbus ) eglfs? ( opengl ) gles2-only? ( opengl ) gui? ( any-of ( X eglfs wayland ) ) libinput? ( udev ) sql? ( any-of ( mysql oci8 odbc postgres sqlite ) ) test? ( icu sql? ( sqlite ) )

(dependency required by "dev-qt/qtwebengine-6.7.1::gentoo" [ebuild])
(dependency required by "dev-python/PyQt6-WebEngine-6.7.0::gentoo" [ebuild])
(dependency required by "app-text/calibre-7.10.0::gentoo[python_single_target_python3_12]" [ebuild])
(dependency required by "calibre" [argument])
~ $


And I'm stuck in a circular loop with qtbase wanting me to +opengl or -opengl but never actually installing calbre despite what I select.

Can anyone shine a light on this for me and help me understand what I'm doing wrong?


Last edited by juanatix on Sat Jun 15, 2024 12:35 am; edited 1 time in total
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1921

PostPosted: Sat Jun 15, 2024 12:24 am    Post subject: Reply with quote

Undo all -opengl and ensure you are in a profile with "desktop" in the name or else enable opengl USE in make.conf.
Portage is all confused because opengl is not enabled system-wide and giving bad advice.
Back to top
View user's profile Send private message
juanatix
n00b
n00b


Joined: 13 Jun 2024
Posts: 6
Location: USA

PostPosted: Sat Jun 15, 2024 12:35 am    Post subject: Reply with quote

grknight wrote:
or else enable opengl USE in make.conf. Portage is all confused because opengl is not enabled system-wide and giving bad advice.


You're a wizard. Thank you. Adding opengl to USE in make.conf worked like a charm. Thanks again.
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