Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 758467 - sys-apps/portage: emerge: there are no ebuilds to satisfy "sys-libs/gdbm:0/1.13=[berkdb]" (message for unsatisfied :${SLOT}= dependencies is confusing)
Summary: sys-apps/portage: emerge: there are no ebuilds to satisfy "sys-libs/gdbm:0/1....
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
Depends on:
Reported: 2020-12-04 23:16 UTC by alex Mezey
Modified: 2020-12-06 21:04 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description alex Mezey 2020-12-04 23:16:33 UTC
when trying to work around another problem in a @world update I tried
emerge -av --deep -1 --update --newuse portage java-config
(I need java-config rebuilt before other stuff that will hopefully build after that ;-) ) 
which gave me this:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "sys-libs/gdbm:0/1.13=[berkdb]".
(dependency required by "dev-lang/python-3.7.9::gentoo" [installed])
(dependency required by "dev-libs/libxml2-2.9.10-r4::gentoo[python_targets_python3_7,python]" [ebuild])
(dependency required by "sys-devel/gettext-0.21::gentoo" [ebuild])
(dependency required by "dev-perl/Locale-gettext-1.70.0::gentoo" [installed])
(dependency required by "sys-apps/help2man-1.47.16::gentoo[nls]" [ebuild])
(dependency required by "sys-devel/automake-1.16.2-r1::gentoo" [ebuild])
(dependency required by "sys-devel/libtool-2.4.6-r6::gentoo" [installed])
(dependency required by "sys-libs/db-5.3.28-r4::gentoo" [ebuild])
(dependency required by "dev-lang/perl-5.30.3::gentoo[berkdb]" [ebuild])
(dependency required by "sys-devel/autoconf-2.69-r5::gentoo" [ebuild])
(dependency required by "dev-lang/python-3.8.6::gentoo" [ebuild])
(dependency required by "dev-java/java-config-2.3.1::gentoo[python_targets_python3_8]" [ebuild])
(dependency required by "java-config" [argument])

I read all this f***ing ebuilds and none of those mentioned and I could not find what to do to get rid of this dependency to this obsolete package.

Actually this Version of gdbm is NOT required by any of the packages mentioned.

After about an hour I got the idea to do

equery d sys-libs/gdbm

which gave me

* These packages depend on sys-libs/gdbm:
dev-lang/perl-5.30.1 (>=sys-libs/gdbm-1.8.3:0/1.13)
dev-lang/python-2.7.18-r100 (gdbm ? sys-libs/gdbm:0[berkdb])
dev-lang/python-3.6.10-r2 (sys-libs/gdbm:0/1.13[berkdb])
dev-lang/python-3.7.9 (gdbm ? sys-libs/gdbm[berkdb])
dev-lang/python-3.8.2-r2 (sys-libs/gdbm:0/1.13[berkdb])
dev-lang/ruby-2.5.8 (gdbm ? sys-libs/gdbm)
dev-libs/apr-util-1.6.1-r3 (sys-libs/gdbm:0/1.13)
dev-libs/cyrus-sasl-2.1.27-r3 (gdbm ? >=sys-libs/gdbm-1.10-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
mail-client/mutt-1.13.5 (sys-libs/gdbm)
media-sound/pulseaudio-13.0 (gdbm ? sys-libs/gdbm)
sys-apps/man-db-2.8.7 (sys-libs/gdbm:0/1.13)

So I figured out I had to unmerge an old ruby, update my versions of python 3.6 and 3.8, dev-libs/apr-util, sys-apps/man-db and dev-lang/perl which were the real packages dependent on that obsolete package.

Then I tried some times adding the (older) installed when I got the same message again to grow the command line to
emerge -av --deep -1 --update --newuse portage java-config mutt dev-libs/cyrus-sasl media-sound/pulseaudio media-libs/libsdl sys-libs/gpm sys-libs/ncurses sys-libs/readline

and I get the same with icu now.
I will do this tomorrow. But it looks like I've found a way.
Anyways this error message is totally misleading. None of the packages mentioned  as cause in the first place where a cause. The main causes were not mentionend. Some packages later mentioned needed to be rebuild. The latter should be handled by portage itself.
Comment 1 Zac Medico gentoo-dev 2020-12-06 21:03:58 UTC
Yeah we should add some special handling for unsatisfied :${SLOT}= dependencies.