1

Problem

I have tried to install Boost version 1.55 (I require this specific version for my programs) using the command:

sudo apt-get install libboost1.55-all-dev

But it keeps giving me the error message:

Reading package lists... Done
Building dependency tree Reading state
information... Done
E: Unable to locate package libboost1.55-all-dev
E: Couldn't find any package by glob 'libboost1.55-all-dev'
E: Couldn't find any package by regex 'libboost1.55-all-dev'

What I have tried

This question suggests to try:

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install libboost-all-dev

But, I continue to get the same error.


This question suggests to try:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager    
sudo apt-get update    
sudo apt-get install y-ppa-manager

But, that only gave me the following errors, which I could not find a way around:

The following packages have unmet dependencies:
 y-ppa-manager : Depends: yad (>= 0.36.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

This question suggests to try using apt-file to search for the packages that I require to install it, but nothing shows up when I run the search command.


Question

What are the possible causes & solutions of this issue?

Ryan
  • 41
  • 1
  • 2
  • 4

1 Answers1

3

The cause of your problem is the assumption that the Ubuntu repositories are comprehensive and keeps older software.

In fact, Ubuntu is a 'snapshot' distro. During the release process, only the latest stable snapshot of all available software is included. Older versions are not included.

Possible Solutions

1) If the source is available, you can recompile against the current dependencies.

2) Libboost1.55 is available in some older versions of Ubuntu.

$ rmadison libboost1.55-dev
libboost1.55-dev | 1.55.0-1             | trusty/universe | amd64, arm64, armhf, i386, powerpc, ppc64el
libboost1.55-dev | 1.55.0+dfsg-3ubuntu2 | vivid           | amd64, arm64, armhf, i386, powerpc, ppc64el

Your safest, simplest solution is to install Ubuntu 14.04 into a VM to run your software safely without breaking your current system.

Some might suggest an alternative: Downgrading libboost (installing a 14.04 package on a 16.04 system). However, this can be difficult and dangerous for not-advanced users. I have 12 years of experience tinkering with packages and the package manager, and I would not do it.

Returning your system to a working state

Uninstall those packages that you installed during your unsuccessful attempts. Delete those sources. Your attempts have introduced a version conflict (which is what 'held broken packages' means). Your package manager is broken. You cannot install, uninstall, nor update your system (including security updates) until you fix it.

user535733
  • 68,493