0

Previously asked this question at askubuntu - but maybe here is the right place.

I'm trying to install CartoDB, and have run into the dreaded "you may have requested an impossible situation" message:

$ sudo apt-get install -y libmapnik-dev python-mapnik mapnik-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  libmapnik-dev: Depends: libmapnik (= 2.2.0+dev20131008.git.fe06c95-1~lucid1) but it is not going to be installed
                 Depends: libboost-thread-dev (>= 1.42) but it is not going to be installed
                 Depends: libboost-filesystem-dev (>= 1.42) but it is not going to be installed
                 Depends: libboost-regex-dev (>= 1.42) but it is not going to be installed
                 Depends: libboost-python-dev (>= 1.42) but it is not going to be installed
                 Depends: libboost-system-dev (>= 1.42) but it is not going to be installed
                 Depends: libboost-program-options-dev (>= 1.42) but it is not going to be installed
  mapnik-utils: Depends: libboost-program-options1.49.0 (>= 1.49.0-1) but it is not installable
                Depends: libboost-system1.49.0 (>= 1.49.0-1) but it is not installable
                Depends: libmapnik (= 2.2.0+dev20131008.git.fe06c95-1~lucid1) but it is not going to be installed
  python-mapnik: Depends: libboost-python1.49.0 (>= 1.49.0-1) but it is not installable
                 Depends: libboost-thread1.49.0 (>= 1.49.0-1) but it is not installable
                 Depends: libmapnik (= 2.2.0+dev20131008.git.fe06c95-1~lucid1) but it is not going to be installed
E: Broken packages

I've tried[1] most of the suggestions in the How do I resolve unmet dependencies question, but no dice.

There are a few things that make this situation particularly hard to diagnose and fix (for me):

  • It's Lucid (and it has to be, for CartoDB to work)
  • I'm just following instructions (a pretty long list of them)
  • The instructions didn't quite work, so I've had to vary a couple of things, such as installing Python 2.7.3 (using altinstall, so it doesn't overwrite 2.6.x)
  • There are lots of custom ppa's.

The commands I ran are documented in this Gist: https://gist.github.com/stevage/9593847

And the full (huge) log is here: https://gist.github.com/stevage/9593835

As requested:

$ cat /etc/apt/sources.list
## Note, this file is written by cloud-init on first boot of an instance
## modifications made here will not survive a re-bundle.
## if you wish to make changes you can:
## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg
##     or do the same in user-data
## b.) add sources in /etc/apt/sources.list.d
## c.) make changes to template file /etc/cloud/templates/sources.list.tmpl
#

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ lucid main
deb-src http://archive.ubuntu.com/ubuntu/ lucid main

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates main

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ lucid universe
deb-src http://archive.ubuntu.com/ubuntu/ lucid universe
deb http://archive.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://archive.ubuntu.com/ubuntu/ lucid multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ lucid multiverse
# deb http://archive.ubuntu.com/ubuntu/ lucid-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu lucid partner
# deb-src http://archive.canonical.com/ubuntu lucid partner

deb http://security.ubuntu.com/ubuntu lucid-security main
deb-src http://security.ubuntu.com/ubuntu lucid-security main
deb http://security.ubuntu.com/ubuntu lucid-security universe
deb-src http://security.ubuntu.com/ubuntu lucid-security universe
# deb http://security.ubuntu.com/ubuntu lucid-security multiverse
# deb-src http://security.ubuntu.com/ubuntu lucid-security multiverse
deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main

and

$ cat /etc/apt/sources.list
## Note, this file is written by cloud-init on first boot of an instance
## modifications made here will not survive a re-bundle.
## if you wish to make changes you can:
## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg
##     or do the same in user-data
## b.) add sources in /etc/apt/sources.list.d
## c.) make changes to template file /etc/cloud/templates/sources.list.tmpl
#

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ lucid main
deb-src http://archive.ubuntu.com/ubuntu/ lucid main

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates main

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ lucid universe
deb-src http://archive.ubuntu.com/ubuntu/ lucid universe
deb http://archive.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://archive.ubuntu.com/ubuntu/ lucid multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ lucid multiverse
# deb http://archive.ubuntu.com/ubuntu/ lucid-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu lucid partner
# deb-src http://archive.canonical.com/ubuntu lucid partner

deb http://security.ubuntu.com/ubuntu lucid-security main
deb-src http://security.ubuntu.com/ubuntu lucid-security main
deb http://security.ubuntu.com/ubuntu lucid-security universe
deb-src http://security.ubuntu.com/ubuntu lucid-security universe
# deb http://security.ubuntu.com/ubuntu lucid-security multiverse
# deb-src http://security.ubuntu.com/ubuntu lucid-security multiverse
deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
ubuntu@tm-21:/mnt/cartodb$ cat /etc/apt/sources.list.d/*
deb http://ppa.launchpad.net/cartodb/gis/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/gis/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/mapnik/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/mapnik/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/nodejs/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/nodejs/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/postgresql/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/postgresql/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/redis/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/redis/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/varnish/ubuntu lucid main
deb http://ppa.launchpad.net/cartodb/varnish/ubuntu lucid main

Any suggestions, advice how to proceed? I really don't grok the APT system well, unfortunately. It's a server, so I can't benefit from many of the GUI based tips.

Thanks for any help! (I've also posted to the CartoDB mailing list)

[1]

   46  sudo apt-get install -yV libmapnik-dev python-mapnik mapnik-utils
   47  sudo apt-get install -f libmapnik-dev python-mapnik mapnik-utils
   48  sudo apt-get clean
   49  sudo apt-get install -f libmapnik-dev python-mapnik mapnik-utils
   50  sudo apt-get autoclean
   51  sudo apt-get install -f libmapnik-dev python-mapnik mapnik-utils
   52  sudo apt-get install -f
   53  sudo apt-get install -f libmapnik-dev python-mapnik mapnik-utils
   54  sudo dpkg --configure -a
   55  sudo apt-get -f install
   56  sudo apt-get install -f libmapnik-dev python-mapnik mapnik-utils
   57  sudo apt-get -u dist-upgrade
   58  sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
   59  sudo apt-get install -y libmapnik-dev python-mapnik mapnik-utils
  • Is building from source an option? – BradHards Mar 18 '14 at 3:34
  • Building mapnik from source? Sure, I guess. Will that achieve the same thing as installing libmapnik-dev, python-mapnik and mapnik-utils? – Steve Bennett Mar 18 '14 at 3:47
  • It won't be identical, but it might be worth a try. – BradHards Mar 18 '14 at 4:10
  • Ok, didn't get far. Ran into the same problem with a dependency for mapnik: build-essential: Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed \ python-dev: Depends: python2.6-dev (>= 2.6.5) but it is not going to be installed (following instructions here) – Steve Bennett Mar 18 '14 at 4:17
  • 1
    You've got something (non-GIS) seriously wrong with your apt configuration. – BradHards Mar 18 '14 at 4:19
1

Your problem is that the mapnik packages (provided in CartoDB's mapnik PPA) depend on newer versions of various C++ boost libraries than are available for Lucid. Specifically:

  • libboost-filesystem-dev (>= 1.42)
  • libboost-filesystem1.49.0 (>= 1.49.0-1)
  • libboost-program-options-dev (>= 1.42)
  • libboost-program-options1.49.0 (>= 1.49.0-1)
  • libboost-python-dev (>= 1.42)
  • libboost-python1.49.0 (>= 1.49.0-1) which is a virtual package.
  • libboost-regex-dev (>= 1.42)
  • libboost-regex1.49.0 (>= 1.49.0-1)
  • libboost-system-dev (>= 1.42)
  • libboost-system1.49.0 (>= 1.49.0-1)
  • libboost-thread-dev (>= 1.42)
  • libboost-thread1.49.0 (>= 1.49.0-1)
  • libboost-thread1.49.0 (>= 1.49.0-1) which is a virtual package.

For all of these, the version of the package being requested isn't available in any of the enabled repos. I've not yet looked extensively into if they can be retrieved from elsewhere, but that is probably the next step. For most of the above, all the packages are available at version 1.40, which presumably isn't recent enough.

I'll keep looking for a little while, but hopefully this is enough information to get you onto the right track also.

EDIT: I just tried adding repositories for Ubuntu precise, quantal, raring, and saucy to my lucid install, in an endeavour to cherry-pick packages of the correct versions from the newer Ubuntus, but this appears to open up a whole new rabbit-hole of dependency hell. I wonder if the documentation is out of date and the latest packages provided by CartoDB are actually best used on a newer Ubuntu version.

  • Thanks very much. Yes, the documentation is definitely at least a little bit out of date, as some of the other commands didn't work quite right. I think it would probably say if they'd switched the target install platform from Lucid. Hm. Anyway, will see how far I get. – Steve Bennett Mar 20 '14 at 2:49
0

The answer is a bit depressing: CartoDB is now targeted at Ubuntu Precise, but they didn't update the readme.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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