Boost logo

Boost :

Subject: [boost] Boost.Python release testing failures
From: Steve M. Robbins (steve_at_[hidden])
Date: 2009-11-01 16:27:27


Hi,

I'm running Boost nightly regression tests on a 64-bit Debian linux
platform for quite some time. I've recently added gcc 4.4 and
Boost.Python is failing miserably; c.f. http://tinyurl.com/yl7yjkv

If I click on a test result URL, such as for "andreas_beyer"
[http://tinyurl.com/yft8k3o], I'm redirected ("See
boost/bin.v2/libs/python/build/gcc-4.4/debug") which shows that the
compile succeeded, but nothing more [http://tinyurl.com/yft8k3o].

Digging into the bjam.log file, it turns out these tests are skipped
because the Boost.Python library failed to build. It would be nice to
improve the error reporting to make this clear.

The compilation error is:

    "g++-4.4" -ftemplate-depth-128 -std=c++0x -O0 -fno-inline -w -g -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -I".." -I"/usr/include/python2.5" -c -o "/home/steve/Packages/boost/upstream/testing/release/results/boost/bin.v2/libs/python/build/gcc-4.4/debug/object/function_doc_signature.o" "../libs/python/src/object/function_doc_signature.cpp"

../libs/python/src/object/function_doc_signature.cpp: In static member function 'static boost::python::str boost::python::objects::function_doc_signature_generator::pretty_signature(const boost::python::objects::function*, size_t, bool)':
../libs/python/src/object/function_doc_signature.cpp:238: error: no match for 'operator%' in '"%s %s(%s%s%s%s)" % std::make_tuple(_Elements&& ...) [with _Elements = boost::python::str&, const boost::python::api::object&, boost::python::str, boost::python::str, boost::python::str, std::string](((const boost::python::api::object&)(& f->boost::python::objects::function::m_name)), ((boost::python::str&&)(& boost::python::str::join(const T&) const [with T = boost::python::api::object_slice](((const boost::python::api::object_slice&)((const boost::python::api::object_slice*)(& boost::python::api::object_operators<U>::slice(const T&, const V&) [with T = int, V = size_t, U = boost::python::api::object](((const int&)((const int*)(&0))), ((const size_t&)((const size_t*)(&(((size_t)arity) - n_overloads))))))))))), ((boost::python::str&&)(&((n_overloads != 0u) ? ((((size_t)arity) != n_overloads) ? boost::python::str(((const char*)" [,")) : boost::python::str(((const char*)"[ "))) : boost::python::str()))), ((boost::python::str&&)(& boost::python::str::join(const T&) const [with T = boost::python::api::object_slice](((const boost::python::api::object_slice&)((const boost::python::api::object_slice*)(& boost::python::api::object_operators<U>::slice(const T&, const V&) [with T = size_t, V = unsigned int, U = boost::python::api::object](((const size_t&)((const size_t*)(&(((size_t)arity) - n_overloads)))), ((const unsigned int&)((const unsigned int*)(& arity)))))))))), ((std::string&&)(& std::basic_string<char, std::char_traits<char>, std::allocator<char> >(n_overloads, 93, ((const std::allocator<char>&)((const std::allocator<char>*)(& std::allocator<char>())))))))'
../boost/python/object_operators.hpp:104: note: candidates are: boost::python::api::object boost::python::api::operator%(const boost::python::api::object&, const boost::python::api::object&)
../libs/python/src/object/function_doc_signature.cpp:249: error: no match for 'operator%' in '"%s(%s%s%s%s) -> %s" % std::make_tuple(_Elements&& ...) [with _Elements = const boost::python::api::object&, boost::python::str, boost::python::str, boost::python::str, std::string, boost::python::str&](((boost::python::str&&)(& boost::python::str::join(const T&) const [with T = boost::python::api::object_slice](((const boost::python::api::object_slice&)((const boost::python::api::object_slice*)(& boost::python::api::object_operators<U>::slice(const T&, const V&) [with T = int, V = size_t, U = boost::python::api::object](((const int&)((const int*)(&0))), ((const size_t&)((const size_t*)(&(((size_t)arity) - n_overloads))))))))))), ((boost::python::str&&)(&((n_overloads != 0u) ? ((((size_t)arity) != n_overloads) ? boost::python::str(((const char*)" [,")) : boost::python::str(((const char*)"[ "))) : boost::python::str()))), ((boost::python::str&&)(& boost::python::str::join(const T&) const [with T = boost::python::api::object_slice](((const boost::python::api::object_slice&)((const boost::python::api::object_slice*)(& boost::python::api::object_operators<U>::slice(const T&, const V&) [with T = size_t, V = unsigned int, U = boost::python::api::object](((const size_t&)((const size_t*)(&(((size_t)arity) - n_overloads)))), ((const unsigned int&)((const unsigned int*)(& arity)))))))))), ((std::string&&)(& std::basic_string<char, std::char_traits<char>, std::allocator<char> >(n_overloads, 93, ((const std::allocator<char>&)((const std::allocator<char>*)(& std::allocator<char>())))))), ((boost::python::str&)(& ret_type)))'
../boost/python/object_operators.hpp:104: note: candidates are: boost::python::api::object boost::python::api::operator%(const boost::python::api::object&, const boost::python::api::object&)
../libs/python/src/object/function_doc_signature.cpp:262: error: no match for 'operator%' in '"%s %s(%s%s%s%s) %s" % std::make_tuple(_Elements&& ...) [with _Elements = boost::python::str, const boost::python::api::object&, boost::python::str, boost::python::str, boost::python::str, std::string, boost::python::str](((const boost::python::api::object&)(& f->boost::python::objects::function::m_name)), ((boost::python::str&&)(& boost::python::str::join(const T&) const [with T = boost::python::api::object_slice](((const boost::python::api::object_slice&)((const boost::python::api::object_slice*)(& boost::python::api::object_operators<U>::slice(const T&, const V&) [with T = int, V = size_t, U = boost::python::api::object](((const int&)((const int*)(&0))), ((const size_t&)((const size_t*)(&(((size_t)arity) - n_overloads))))))))))), ((boost::python::str&&)(&((n_overloads != 0u) ? ((((size_t)arity) != n_overloads) ? boost::python::str(((const char*)" [,")) : boost::python::str(((const char*)"[ "))) : boost::python::str()))), ((boost::python::str&&)(& boost::python::str::join(const T&) const [with T = boost::python::api::object_slice](((const boost::python::api::object_slice&)((const boost::python::api::object_slice*)(& boost::python::api::object_operators<U>::slice(const T&, const V&) [with T = size_t, V = unsigned int, U = boost::python::api::object](((const size_t&)((const size_t*)(&(((size_t)arity) - n_overloads)))), ((const unsigned int&)((const unsigned int*)(& arity)))))))))), ((std::string&&)(& std::basic_string<char, std::char_traits<char>, std::allocator<char> >(n_overloads, 93, ((const std::allocator<char>&)((const std::allocator<char>*)(& std::allocator<char>())))))), ((boost::python::str&&)(&(cpp_types ? boost::python::str(((const char*)"")) : boost::python::str(((const boost::python::str&)((const boost::python::str*)(& ret_type))))))))'
../boost/python/object_operators.hpp:104: note: candidates are: boost::python::api::object boost::python::api::operator%(const boost::python::api::object&, const boost::python::api::object&)
...failed gcc.compile.c++ /home/steve/Packages/boost/upstream/testing/release/results/boost/bin.v2/libs/python/build/gcc-4.4/debug/object/function_doc_signature.o...

I hope this helps the Boost.Python maintainers to fix it. Let me know if you need more info.

Thanks,
-Steve




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk