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+... 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