juanatix n00b
Joined: 13 Jun 2024 Posts: 6 Location: USA
|
Posted: Fri Jun 14, 2024 10:52 pm Post subject: Unable to Install Calibre - USE Flag Conflict? [SOLVED] |
|
|
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 |
|