I accidentally deleted my binutils and tried to install it as a binary package.

However, emerge is always complaining that there is no package by that name.

I downloaded the packages from here and simply copied it into /usr/portage/packages (and later also in distfiles).

After that I did chown portage:portage and tried to install the package:

sudo emerge --ask --usepkgonly binutils-2.24-r3.tbz2 

it tells me to adjust PKGDIR, but it is already set to /usr/portage/packages.

After that I tried this:

sudo emerge --ask --usepkgonly =binutils-2.24-r3

which tells me:

emerge: there are no binary packages to satisfy "=binutils-2.24-r3".

I don't know where my mistake is; it's written correctly and has the right permissions and is in the right location.... (make.conf locations are all default).

The last post on this Stack Overflow question didn't help either.

I just found what appears to be a solution: Fatal mistake: Uninstalled sys-devel/binutils - emerge don't work anymore (didn't see it before); however, it doesn't try to solve the problem using binary packages, so it doesn't answer this question


Probably, portage fails some internal magic because of some missing utilities from binutils. You can just unpack binary package in your root partition with tar -xjf /usr/portage/packages/binutils*bz2 -C /. Then you can try to reemerge binutils.

Also, are you sure that binpackage you've dowloaded is really tbz2, but not, say, html?

  • I did a new install, but as far as I can remember it was tbz2, however I didn't try to unpack it directly... So I guess you are right but I can't confirm this. Should I mark the answer as solved? Apr 16 '17 at 12:37
  • It would be nice :) You can re-ask the question later if any :) May 10 '17 at 5:45

You need to remove the information about the package from the Packages file, everything from BUILD_TIME to REPO.

Then you can do something like: emerge --usepkg =media-gfx/graphite2-1.3.13 and it will work.

  • Welcome to Super User. Would you like to elaborate on what your suggestion is and how to do it? This will better help the OP and other visitors Feb 8 '19 at 23:17

It's because /usr/portage/packages needs the category as well. The binary package should be placed in a subdirectory called sys-devel in packages.

Not the answer you're looking for? Browse other questions tagged or ask your own question.