Thanks to [profile=322314]Sakaki[/profile] for rekindling my interest in Gentoo....it's been a long time.
As I begin to learn the 'Gentoo Way', I found i'd make a quick note of how I managed to install a 'Masked' package, as this seems to be a commonly asked question, so I thought i'd try to document my experience, for others to find. It seems like a lot of people ask why they can't install masked packages, and I found myself in this situation, when I wanted to install an amateur radio package called
JS8CALL, which had HAMLIB as a dependency.
I followed Sakaki's example 'shed',
here , but some how messed it up. I wrote to him, and he was kind enough to reply to my individual request. This was one of the reasons i'm posting, here.
Essentially, my understanding is that in this context, MASKING means that the required package hasn't been made available for this arch, but it is available under another arch, such as i686. This theoretically means that the package should be able to be emerged for RasPi.
Hopefully, format permitting, the following will give you an indication of what I did (as root):
Code: Select all
pi64 ~ # echo "media-libs/hamlib * ~*" >> /etc/portage/package.accept_keywords/hamlib
pi64 ~ # eix --verbose media-libs/hamlib
* media-libs/hamlib
Available versions: (*)3.3^t
IUSE (all versions): doc perl python tcl PYTHON_SINGLE_TARGET="python2_7 python3_6 python3_7"
Best versions/slot: (*)3.3^t
Homepage: https://www.hamlib.org
Description: Ham radio backend rig control libraries
License: LGPL-2 GPL-2
pi64 ~ # emerge --verbose media-libs/hamlib
Local copy of remote index is up-to-date and will be used.
Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N *] media-libs/hamlib-3.3::gentoo USE="-doc -perl -python -tcl" PYTHON_SINGLE_TARGET="python3_6 -python2_7 -python3_7" 2,141 KiB
Total: 1 package (1 new), Size of downloads: 2,141 KiB
!!! The following binary packages have been ignored due to changed dependencies:
dev-libs/libxml2-2.9.9-r3::gentoo
NOTE: The --binpkg-changed-deps=n option will prevent emerge
from ignoring these binary packages if possible.
Using --binpkg-changed-deps=y will silence this warning.
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) media-libs/hamlib-3.3::gentoo
>>> Installing (1 of 1) media-libs/hamlib-3.3::gentoo
>>> Recording media-libs/hamlib in "world" favorites file...
>>> Jobs: 1 of 1 complete Load avg: 1.98, 5.19, 7.12
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* Regenerating GNU info directory index...
* Processed 114 info files.
pi64 ~ #
As i'm new to all this, I checked that the package was installed:
Code: Select all
pi64 ~ # emerge --search media-libs/hamlib
Local copy of remote index is up-to-date and will be used.
[ Results for search key : media-libs/hamlib ]
Searching...
* media-libs/hamlib
Latest version available: 3.3
Latest version installed: 3.3
Size of files: 2,141 KiB
Homepage: https://www.hamlib.org
Description: Ham radio backend rig control libraries
License: LGPL-2 GPL-2
[ Applications found : 1 ]
Now to try the actual objective, which is to install JS8CALL....
... oh well, one victory at a time:
Code: Select all
pi64 ~ # emerge js8call
Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
[binary U ] dev-libs/icu-66.1 [65.1-r1]
[binary N ] media-libs/portaudio-19.06.00-r2 USE="alsa cxx -debug -doc -jack -oss -static-libs"
[binary N ] virtual/fortran-0 USE="openmp"
[ebuild N ] sci-libs/fftw-3.3.8-r1 USE="fortran openmp threads (-altivec) -doc (-mpi) (-neon) -quad -static-libs -test (-zbus)"
[binary U ] dev-qt/qtcore-5.14.2 [5.14.1-r1] USE="-old-kernel%"
[ebuild N ] dev-qt/qtserialport-5.14.2 USE="-debug -test"
[ebuild N *] media-radio/js8call-2.1.1 USE="-doc"
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-qt/qtcore:5
(dev-qt/qtcore-5.14.1-r1:5/5.14::gentoo, installed) USE="icu -debug -systemd -test" pulled in by
~dev-qt/qtcore-5.14.1 required by (dev-qt/qtconcurrent-5.14.1:5/5.14::gentoo, installed) USE="-debug -test"
^ ^^^^^^
(and 15 more with the same problem)
(dev-qt/qtcore-5.14.2:5/5.14.2::gentoo, binary scheduled for merge) USE="icu -debug -old-kernel -systemd -test" pulled in by
~dev-qt/qtcore-5.14.2 required by (dev-qt/qtserialport-5.14.2:5/5.14::gentoo, ebuild scheduled for merge) USE="-debug -test"
^ ^^^^^^
dev-libs/icu:0
(dev-libs/icu-66.1:0/66.1::gentoo, binary scheduled for merge) USE="-debug -doc -examples -static-libs" pulled in by
dev-libs/icu:0/66.1= required by (dev-qt/qtcore-5.14.2:5/5.14.2::gentoo, binary scheduled for merge) USE="icu -debug -old-kernel -systemd -test"
^^^^^^^^
(dev-libs/icu-65.1-r1:0/65.1::gentoo, installed) USE="-debug -doc -examples -static-libs" pulled in by
dev-libs/icu:0/65.1= required by (dev-db/sqlite-3.30.1:3/3::gentoo, installed) USE="icu readline secure-delete -debug -doc -static-libs -tcl -test -tools"
^^^^^^^^
dev-libs/icu:0/65.1= required by (media-libs/libvisio-0.1.7:0/0::gentoo, installed) USE="-doc -static-libs -test -tools"
^^^^^^^^
dev-libs/icu:0/65.1= required by (dev-qt/qtwebkit-5.212.0_pre20190629:5/5.212::gentoo, installed) USE="X gstreamer hyphen opengl printsupport -geolocation -gles2 (-jit) -multimedia -nsplugin -orientation -qml -webp"
^^^^^^^^
>=dev-libs/icu-64.1:0/65.1= required by (www-client/firefox-73.0.1:0/0::gentoo, installed) USE="bindist hwaccel lto pulseaudio screenshot startup-notification system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite system-webp -clang -custom-cflags -custom-optimization -debug (-eme-free) -geckodriver -gmp-autoupdate (-hardened) -jack (-pgo) (-selinux) -test -wayland -wifi" CPU_FLAGS_ARM="(-neon)" L10N="en-GB -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-CA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -ur -uz -vi -xh -zh-CN -zh-TW"
^^^^^^^^
(and 18 more with the same problems)
NOTE: Use the '--verbose-conflicts' option to display parents omitted above
!!! The slot conflict(s) shown above involve package(s) which may need to
!!! be rebuilt in order to solve the conflict(s). However, the following
!!! package(s) cannot be rebuilt for the reason(s) shown:
(dev-qt/qtwebkit-5.212.0_pre20190629:5/5.212::gentoo, installed): ebuild is masked or unavailable
(www-client/firefox-73.0.1:0/0::gentoo, installed): ebuild is masked or unavailable
(dev-db/sqlite-3.30.1:3/3::gentoo, installed): ebuild is masked or unavailable
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 USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by media-radio/js8call-2.1.1::gentoo
# required by js8call (argument)
>=sci-libs/fftw-3.3.8-r1 threads
Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.
* In order to avoid wasting time, backtracking has terminated early
* due to the above autounmask change(s). The --autounmask-backtrack=y
* option can be used to force further backtracking, but there is no
* guarantee that it will produce a solution.
pi64 ~ #
[/code]
Hmmmm!
Chris
2E0FRU