Cannot link to octave and cannot find Boost::Python

Asked by fideli

Hello there, I have tried to install the stable version of this on my Xubuntu 9.04. Following the instructions in the INSTALL file, as well as those located at https://answers.launchpad.net/pytave/+question/50405, I've installed the following packages: octave3.0, octave3.0-headers, libboost-python-dev. During the ./configure, I get the following:

$./configure
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for octave-config filename... determined from path
checking for octave-config... /usr/bin/octave-config
checking for Octave library path... /usr/lib/octave-3.0.1
checking for Octave include path... /usr/include/octave-3.0.1
checking whether linking to Octave library works... no
configure: WARNING:
========================================================================
Can not link with Octave.

Make sure the Octave development package is installed.
========================================================================
checking for python... /usr/bin/python
checking for a version of Python >= '2.1.0'... yes
checking for the distutils Python package... yes
checking for Python include path... -I/usr/include/python2.6
checking for Python library path... -L/usr/lib -lpython2.6
checking for Python site-packages path... /usr/lib/python2.6/dist-packages
checking python extra libraries... -L/usr/lib -lz -lpthread -ldl -lutil
checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
checking consistency of all components of python development environment... yes
checking whether the Boost::Python library is available... no
configure: error:
========================================================================
One or more library dependencies could not be resolved.

Configuration failed. Halt.
========================================================================

I'm not sure what other packages I need to install to get this to work for me.

Question information

Language:
English Edit question
Status:
Solved
For:
Pytave Edit question
Assignee:
No assignee Edit question
Solved by:
highegg
Solved:
Last query:
Last reply:
Revision history for this message
qwertitis (qwertitis-deactivatedaccount) said :
#1

What version of pytave are you running?

Post your config.log to pastebin.ca and I'll try to help you.

Revision history for this message
fideli (faisal-moledina) said :
#2

I checked out the stable version, so 0.1.1 according to the config.log. It's posted at http://pastebin.ca/1543383

Revision history for this message
qwertitis (qwertitis-deactivatedaccount) said :
#3

Are you running 64-bit ubuntu? My guess as to the problem's cause is that 64-bit header files are included by a 32-bit Octave.

Revision history for this message
fideli (faisal-moledina) said :
#4

> David Grundberg requested for more information:
> Are you running 64-bit ubuntu? My guess as to the problem's cause is
> that 64-bit header files are included by a 32-bit Octave.

I'm running 64-bit ubuntu, yes. I'm not sure I have a 32-bit Octave.
Here is the output for the file command:

$ file /usr/bin/octave-3.0.1
/usr/bin/octave-3.0.1: ELF 64-bit LSB executable, x86-64, version 1
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15,
stripped
$ file /usr/lib/octave-3.0.1/liboctave.so.3.0.1
/usr/lib/octave-3.0.1/liboctave.so.3.0.1: ELF 64-bit LSB shared
object, x86-64, version 1 (SYSV), dynamically linked, stripped

Revision history for this message
Launchpad Janitor (janitor) said :
#5

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
qwertitis (qwertitis-deactivatedaccount) said :
#6

I don't have a 64-bit ubuntu to test on. When I search on this, I find other people that are having the same problem, but with other C++ projects. So maybe it's a 64-bit/C++ problem. If you find something, feel free to post it here.

Revision history for this message
Best highegg (highegg) said :
#7

David is right - this looks like a system configuration problem. Apparently g++ can't find its low-level library files.
Something like /usr/include/c++/4.3/x86_64-ubuntu-linux/bits/c++config.h should exist. Can you verify? The path may be slightly different, but it should be in the c++/4.3/ directory and indicate your platform.
If not, can you check whether the g++ package lists the file as provided?

Revision history for this message
fideli (faisal-moledina) said :
#8

It turns out that c++config.h was not there. However, using "apt-file search c++config.h" I found that the file is provided by the libstdc++6-4.3-dev package, which was already installed. I reinstalled it and the file was finally available at /usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h. Weird. Seems like an unfortunate mistake in the default ubuntu install?

I was then able to finally install pytave. Thanks for the help David and highegg.

Revision history for this message
fideli (faisal-moledina) said :
#9

Thanks highegg, that solved my question.

Revision history for this message
Ahmad Zeeshan (ahmadzn) said :
#10

Hi guys!

I am using Fedora 11 and having the same problem faced by fideli. I searched for hearder file c++config.h and I found it in the path

/usr/include/c++/4.4.0/i586-redhat-linux/bits/c++config.h

It seems like my problem is not what fideli had. Thanks in advance for your help.