4

I need a program which can only be compiled with ifort, and it seems Intel is no longer supporting ifort. So, I am trying to install the intel-oneapi-ifort package through apt on Linux Mint.

If I search for it, I get:

apt search ifort
v   intel-oneapi-ifort                                  -                               
v   intel-oneapi-ifort-32bit:i386                       -                               
v   intel-oneapi-ifort-runtime                          -                               
v   intel-oneapi-ifort-runtime-32bit:i386               -

So it is definitely listed on the apt database. However, when I enter the installation command:

sudo apt install intel-oneapi-ifort

I get given the message:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'intel-oneapi-compiler-fortran' instead of 'intel-oneapi-ifort'
intel-oneapi-compiler-fortran is already the newest version (2025.2.0-766).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

I have tried uninstalling intel-oneapi-compiler-fortran and then entering the same command, but apt just reinstalls intel-oneapi-compiler-fortran instead of installing intel-oneapi-ifort.

I don't know why apt has decided I would prefer intel-oneapi-compiler-fortran rather than the package I asked for, and I cannot figure out a way to override this decision. The apt manual doesn't list anything that might help me, and online I can only find people explaining what this message means, rather than how to override it (for example: https://superuser.com/a/1700872/1788401).

Does anyone know how I could get apt to install intel-oneapi-ifort? How can you override apt's selection?

1 Answer 1

10

The v at the start of the intel-oneapi-ifort line in apt search’s output indicates that it’s a virtual package, presumably provided by intel-oneapi-compiler-fortran. That means it doesn’t exist as such, it’s just a name provided by the intel-oneapi-compiler-fortran package — presumably for backwards compatibility.

So you can’t install that package. You’ll have to find an older version somewhere else.

If the package wasn’t virtual, apt would install it if at all possible (perhaps installing, upgrading, or even removing other packages if necessary), and wouldn’t pick another one instead.

6
  • Oh... that is a shame. Thanks for letting me know! Just for completeness, is there a way to override apt's decision anyway, or does it not make that choice if the package is not virtual? Commented Jul 4 at 13:46
  • If you ask apt to install a package that is not virtual, there is no decision to be made, apt installs the package you asked for. Commented Jul 4 at 15:19
  • 3
    @isolatedmatrix: There is nothing to override. A "virtual package" is a euphemism for "a package that doesn't exist, except as an alias for some other package or set of packages." You cannot install it because there is no package to install (or at least, none that your configured package repository knows about, anyway). Apt can either try to resolve the alias to some other package (which is the behavior you observed), or fail to install any package whatsoever (if it can't find a matching real package). Commented Jul 5 at 8:13
  • if intel-oneapi-ifort installs intel-oneapi-compiler-fortran then perhaps the package was renamed and the replacement package will work. Have you tried it? Likely this is a newer version than what is expected, so it may not. Sometimes your only solution is to use an older OS in a container. Commented Jul 5 at 11:14
  • @user10489 the replacement doesn’t work, see the Intel forums. Installing an older OS in a container won’t help, this isn’t a distro package and it’s not a dependency problem — the old packages are no longer available at all in the Intel repositories. Commented Jul 5 at 11:23

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.