it seems like emerge dosen't emerge the right version when a newer binary package is present... emerge -uDbkva world it want to emerge xfree-4.3.0-r5 but actually take the xfree-4.3.0-r6 so when you run the command again, it want to emerge it back also, it seems like sometime it dosen't see that a package is already compiled and recompile it instead of using the binary one again, another problem: if a binary package exists but no ebuild for it, it crash... something aux_get().. I don't have the error message anymore, deleted the binary package that was making crash... Reproducible: Always Steps to Reproduce: 1.break gentoo: ACCEPT_KEYWORDS="~x86" emerge -UuDavbk world 2.fix gentoo: emerge -uDavbk world 3.run emerge -uDavbk world again Actual Results: newer packages get installed instead of the selected one in emerge Expected Results: emerge the right version
You'll have to include some output for me to look at. The entire process please, excluding the actual compile parts.
Created attachment 33924 [details] emerge with bin packages ok, first, let's start by the problem I get in the order 1) put back all the binary package, one don't have an ebuild so crash emerge: --------------------cut here-------------------------------- # emerge -UuDavbk world These are the packages that I would merge, in order: Calculating world dependencies \!!! aux_get(): ebuild for 'media-libs/faad2-2.0-r1' does not exist at: !!! /usr/portage/media-libs/faad2/faad2-2.0-r1.ebuild Traceback (most recent call last): File "/usr/bin/emerge", line 2517, in ? if not mydepgraph.xcreate(myaction): File "/usr/bin/emerge", line 1135, in xcreate if not self.create(myk): File "/usr/bin/emerge", line 825, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1037, in select_dep if not self.create(myk,myparent,myuse=binpkguseflags): File "/usr/bin/emerge", line 825, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1012, in select_dep cand=self.is_newer_ver_installed(myroot,x,myeb_pkg) File "/usr/bin/emerge", line 914, in is_newer_ver_installed myslot=portage.portdb.aux_get(pkgver,["SLOT"])[0] File "/usr/lib/portage/pym/portage.py", line 4516, in aux_get raise KeyError KeyError --------------------cut here-------------------------------- moved out that package from /usr/portage/packages/All/ and fixed that problem. I beleive emerge should have a check and just ignore it in that case... certainly not crash. 2) # emerge -UuDavbk world see attachment I move out ALL binary packages, here is the result: --------------------cut here-------------------------------- # emerge -UuDavbk world These are the packages that I would merge, in order: Calculating world dependencies ...done! [ebuild U ] sys-devel/libperl-5.8.4-r1 [5.8.4] +berkdb -debug +gdbm -threads -uclibc 0 kB [ebuild U ] dev-lang/perl-5.8.4 [5.8.2-r1] +berkdb -doc +gdbm -threads 0 kB [ebuild UD] x11-libs/wxGTK-2.4.1-r1 [2.4.2] +gtk2 +nls -odbc +opengl 0 kB Total size of downloads: 0 kB --------------------cut here-------------------------------- notice I that libperl and perl are ~x86 in /etc/portage/packages.keywords... something wanted those version, didn't checked which... I don't care too..
Created attachment 33927 [details] ls /usr/portage/packages/All the folder 1 is where I was moving my packages to, ignore it :)
The related issue with the traceback is fixed in CVS. -U is neither tested, not expected to work with binary packages. Reproduce without if still relevant.
Closing due to old age