How to install a masked package in Gentoo 2008?

10,483

Solution 1

Simply mkdir /etc/portage and edit as mentioned here: http://gentoo-wiki.com/TIP_Dealing_with_masked_packages#But_you_want_to_install_the_package_anyway...

Solution 2

There are two different kinds of masks in gentoo. Keyword masks and package masks. A keyword mask means that the package is either not supported (or untested) by your architecture, or still in testing. A package mask means that the package is masked for another reason (and for most users it is not smart to unmask). The solutions are:

  • Add a line to /etc/portage/package.keywords (Check man portage in the package.keywords section). This is for the keyword problems.
  • Add a line to /etc/portage/package.unmask for "package.mask" problems (you can also use package.mask for the converse). This is in the same man file, under the section package.unmask. I advise to use versioned atoms here to avoid shooting in your own foot with really broken future versions a couple of months down the line.

Solution 3

These days there's also a more 'automated' solution, called "autounmask". No more file editing needed to unmask!

The great benefit of the package is, it also unmasks / handles keywords of dependencies if needed. It's provided in the package app-portage/autounmask.

/etc/portage/package.keywords and
/etc/portage/package.unmask

can be directories as well nowadays (but autounmask handles single files as well). In those directories, multiple can place multiple "autounmask" files, one file in each dir per "unmask"-package. If you use single files instead of dirs, 'autounmask' will place some kind of header / footer, and this way it becomes easy to remove "unmasks" if wanted.

Share:
10,483
Milan Babuškov
Author by

Milan Babuškov

Software developer, owner of a small ISV company, project manager of the open source FlameRobin project. Specialized in Linux, C++, PHP and Relational databases. You can read my software related blog at http://www.BackwardCompatible.net You can also buy my shareware software at http://www.GuacoSoft.com

Updated on June 28, 2022

Comments

  • Milan Babuškov
    Milan Babuškov almost 2 years

    I searched the net and handbook, but I only managed to learn what is the masked package, and not how to install it. I did find some commands, but they don't seem to work on 2008 (looking at it, it seems those are for earlier versions). I have something like this:

    localhost ~ # emerge flamerobin
    Calculating dependencies 
    !!! All ebuilds that could satisfy "dev-db/flamerobin" have been masked.
    !!! One of the following masked packages is required to complete your request:
    - dev-db/flamerobin-0.8.6 (masked by: ~x86 keyword)
    - dev-db/flamerobin-0.8.3 (masked by: ~x86 keyword)
    

    I would like to install version 0.8.6, but don't know how? I found some instructions, but they tell me to edit or write to some files under /etc/portage. However, I don't have /etc/portage on my system:

    localhost ~ # ls /etc/portage
    ls: cannot access /etc/portage: No such file or directory 
    
    • David Ameller
      David Ameller over 15 years
      That is not about programing.
    • Milan Babuškov
      Milan Babuškov over 15 years
    • Milan Babuškov
      Milan Babuškov over 15 years
      Besides, I'm a programmer, and need my tools up and running on Gentoo. So it is remotely related to programming. Just like if someone would have problems installing MSSQL server on Windows.
  • Milan Babuškov
    Milan Babuškov over 15 years
    Does that mean: echo "~dev-db/flamerobin-0.8.6 ~*" >> /etc/portage/package.keywords Or: echo "=dev-db/flamerobin-0.8.6" >> /etc/portage/package.keywords
  • Alfredo Hu
    Alfredo Hu over 15 years
    echo "dev-db/flamerobin" >> /etc/portage/package.keywords
  • hobbes3
    hobbes3 about 12 years
    That link doesn't work anymore. Could you please update? I tried searching for "masked packages" in the Gentoo Wiki, but I couldn't find anything relevant.