Cant install luabind with libboost 1.54

Asked by Stephen Woodbridge

$ sudo apt-get install libluabind-dev libluabind0.9.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
libluabind0.9.1 is already the newest version.
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:
 libluabind-dev : Depends: libboost-dev (> 1.34) but it is not going to be installed or
                           libboost1.35-dev but it is not installable
                  Depends: libboost-python-dev (> 1.34) but it is not going to be installed or
                           libboost-python1.35-dev but it is not installable
E: Unable to correct problems, you have held broken packages.

$ apt-show-versions | grep libboost-python
libboost-python1.54-dev/precise uptodate 1.54.0-2ubuntu3~precise1
libboost-python1.54.0/precise uptodate 1.54.0-2ubuntu3~precise1
$ apt-show-versions | grep libboost1.54
libboost1.54-all-dev/precise uptodate 1.54.0-2ubuntu3~precise1
libboost1.54-dev/precise uptodate 1.54.0-2ubuntu3~precise1

Is there somewhere I can get a version of luabind that will install on precise with boost 1.54

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu luabind Edit question
Assignee:
No assignee Edit question
Solved by:
Stephen Woodbridge
Solved:
Last query:
Last reply:
Revision history for this message
Thomas Krüger (thkrueger) said :
#1

Have you tried to install the dependencies manually before?

Revision history for this message
Manfred Hampl (m-hampl) said :
#2

Please provide the output of the terminal commands

uname -a
lsb_relase -a
sudo apt-get install libboost-dev libboost-python-dev libluabind-dev

Revision history for this message
Stephen Woodbridge (woodbri) said :
#3

$ uname -a
Linux mappy 3.8.0-34-generic #49~precise1-Ubuntu SMP Wed Nov 13 18:05:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise

$ sudo apt-get install libboost-dev libboost-python-dev libluabind-dev
[sudo] password for woodbri:
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:
 libboost-dev : Depends: libboost1.46-dev but it is not going to be installed
 libboost-python-dev : Depends: libboost-python1.46-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

The issue is that the dependencies on libluabind-dev do not allow it to be installed with new versions of libboost.

I was able to install luabind-0.9.1 from source tarball (which is not ideal) after making these changes:

$ diff -r luabind-0.9.1 luabind-0.9.1a
diff -r luabind-0.9.1/Jamroot luabind-0.9.1a/Jamroot
89c89
< library = [ GLOB $(lib)/lua51 $(lib)/lua5.1 $(lib)/lua $(lib) :
---
> library = [ GLOB $(lib)/lua51 $(lib)/lua5.1 $(lib)/lua $(lib) $(lib)/x86_64-linux-gnu :
Only in luabind-0.9.1a: bin
diff -r luabind-0.9.1/luabind/detail/call_function.hpp luabind-0.9.1a/luabind/detail/call_function.hpp
326c326,327
< #elif BOOST_PP_ITERATION_FLAGS() == 1
---
> #else
> #if BOOST_PP_ITERATION_FLAGS() == 1
443c444
<
---
> #endif
diff -r luabind-0.9.1/luabind/detail/call_member.hpp luabind-0.9.1a/luabind/detail/call_member.hpp
319c319,320
< #elif BOOST_PP_ITERATION_FLAGS() == 1
---
> #else
> #if BOOST_PP_ITERATION_FLAGS() == 1
363c364
<
---
> #endif
diff -r luabind-0.9.1/luabind/wrapper_base.hpp luabind-0.9.1a/luabind/wrapper_base.hpp
92c92,93
< #elif BOOST_PP_ITERATION_FLAGS() == 1
---
> #else
> #if BOOST_PP_ITERATION_FLAGS() == 1
189a191
> #endif

to deal with an issue related to g++-4.6.

Revision history for this message
Manfred Hampl (m-hampl) said :
#4

You could have tried digging further into the dependency problems by adding the problematic packages to the apt-get command, like

sudo apt-get install libboost-dev libboost-python-dev libluabind-dev libboost1.46-dev libboost-python1.46-dev

and so on, to maybe find out the why the packages do not install.

Revision history for this message
Manfred Hampl (m-hampl) said :
#5

Just re-reading the title of your question document: it refers to libboost 1.54
Ubuntu precise, however, has libboost 1.46 and 1.48 only
libbost 1.54 was delivered with saucy.

Maybe you could have used a PPA with a boost 1.54 backport to precise, e.g. https://launchpad.net/~mapnik/+archive/ubuntu/boost-backports-1-54