Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2007-10-15 15:43:54


on Wed Oct 10 2007, "Michel Valstar" <Michel.Valstar-AT-imperial.ac.uk> wrote:

> I am trying to build code of a recently graduated student, who is now unavailable to us (read:
> ignores us). When running scons in the appropriate directory, a lot gets build, until I get the
> following error:
>
> /usr/include/boost/python/object/make_holder.hpp:81: error: 'allocate' is not a member of
> 'boost::python::objects::value_holder<std::pair<const std::basic_string<char, std::char_traits
> <char>, std::allocator<char> >, State> >'
> /usr/include/boost/python/object/make_holder.hpp:83: error: no matching function for call to
> 'boost::python::objects::value_holder<std::pair<const std::basic_string<char, std::char_traits
> <char>, std::allocator<char> >, State> >::value_holder(int*&)'
> /usr/include/boost/python/object/value_holder.hpp:44: note: candidates are:
> boost::python::objects::value_holder<std::pair<const std::basic_string<char, std::char_traits
> <char>, std::allocator<char> >, State> >::value_holder()
> /usr/include/boost/python/object/value_holder.hpp:44: note:
> boost::python::objects::value_holder<std::pair<const std::basic_string<char, std::char_traits
> <char>, std::allocator<char> >, State> >::value_holder(const
> boost::python::objects::value_holder<std::pair<const std::basic_string<char, std::char_traits
> <char>, std::allocator<char> >, State> >&)
> scons: *** [trackerbase/trackerbasewrapper.os] Error 1
> scons: building terminated because of errors.
>
> This does not seem to be an error in his own code, rather an error in the boost.python code?
> This is the first time I am using boost, and, as usual, I need to get this program working
> yesterday.
>
> My machine is a recently installed Ubuntu Feisty (hence the need for re-compilation). I am using
> the latest version of Boost (boost_1_34_1) and python 2.5.1
>
> Any help would be appreciated.

I'll try.

First, please read the Note at
http://boost.org/libs/python/doc/building.html#no-install-quickstart

Also, please note that
http://boost.org/more/mailing_lists.htm#cplussig may be a better place
to ask this question. I'm following up there.

I'm pretty sure this is an error in your student's code and the
compiler is giving you a poor error message. Most probably

  std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> >, State>

is an incomplete type at the point where make_holder is being used.
However, guessing is really futile. If my guess is wrong, please
prepare and post a minimal, complete example as described in
http://article.gmane.org/gmane.comp.python.c++/10237/match=minimal+complete+example+reproduce+jamfile

9 times out of 10, preparing a minimal example reveals the actual
problem to the person asking the question ;-)

Cheers,

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net