0

I am trying to install Avogadro 1.2 default package of bionic 18.4 in 16.4. bcoz ubuntu 16.4 has Avagadro 1.1 package in software center. This software has lot of dependency problem. So if anyone just help me with the installation im happy as a newbie.

sudo apt-get install avogadro installs older version not 1.2

But it works fine in ubuntu bionic bcoz it is default package. https://launchpad.net/ubuntu/+source/avogadro/1.2.0-4build1

  • To be clear: you want help forcing a package install intended for 18.x onto a 16.4 install? –  Dec 13 '18 at 18:59
  • If so: https://askubuntu.com/q/30305/459652 and https://askubuntu.com/q/103320/459652 (You might be better off compiling from scratch.) –  Dec 13 '18 at 19:04
  • I think u might be partially right but the software is also available as opensource but for scientific purpose it is included in ubuntu software package center. bcoz of its usage. – user3241355 Dec 13 '18 at 19:06
  • II tried this and this is the depandency problem https://askubuntu.com/questions/1100688/avagadro-1-2-ubuntu-16-installation-error-cmake-make – user3241355 Dec 13 '18 at 19:10
  • This is how package managers work: they provide a convenient way to get pre-built binaries on your system. The down side is that they have to be tied to a release because of dependencies. If 1.2 is not available through any standard or custom PPA on 16.x, then there are few solutions other than compiling from scratch. Those linked Q&A discuss your options. –  Dec 13 '18 at 19:10

2 Answers2

3

Forcing Apt to install binaries using packages for another release is a terrible idea, and will probably lead to tears and recriminations. Don't do this. Package installations are a convenience but they have their limitations.

I've seen references to hacks that allow this (JDK 1.7 version hacks spring to mind) but they are all fraught with potential disaster. Let us not speak of them again.

Your non-hack solutions:

  1. Build from source. This will require the dev-essentials package, along with some dev-essentials skills. If you go down this route you pretty much have to go ask for help from the maintainers of the application if you run into problems. Expect to iterate on this until it is done.

  2. Install VirtualBox and create a 18.x VM and install the software package on that. You can even set up persistent shared directories between the Linux host and guest OS to make this almost seamless.

Based on another Answer, I felt compelled to leave you with this nugget of wisdom:

Pinning

(!) When pinning, you must ensure compatibility of packages by yourself since Debian does not guarantee it. Note that pinning is completely optional, and Debian does not encourage pinning without thorough consideration.

(!) Seriously, don't do this. Doing this will break Debian and leave you with a system that doesn't work and can't be fixed. Use Backports instead!

Yeah. Don't do this. If Debian says not to do this thing, then Ubuntu shouldn't do it. This isn't Gentoo. (Oh snap!)

  • What do you mean by "tears and recriminations"? Arguments? – wjandrea Dec 14 '18 at 00:05
  • @wjandrea It means if someone does this terrible thing, it will often end in an inability to rescue the system from the terrible state it might get in. –  Dec 14 '18 at 14:43
0

Installing packages from different releases can be done using apt-pinning.

harshit
  • 169
  • Of interest from that link: "When pinning, you must ensure compatibility of packages by yourself since Debian does not guarantee it. Note that pinning is completely optional, and Debian does not encourage pinning without thorough consideration. Seriously, don't do this. Doing this will break Debian and leave you with a system that doesn't work and can't be fixed. Use Backports instead!" –  Dec 14 '18 at 15:48