Package: libluabind-dev
Version: 0.9.1+dfsg-4
Severity: important
Tags: patch

Dear Maintainer,

The latest upstream version of Luabind fails to compile with the Clang
C++ compiler. As an example of a build failure, I included the output
of

clang++ -O2 -I/usr/include/lua5.1 -lluabind -o test_abstract_base 
test_abstract_base.cpp main.cpp

Fortunately, the maintainer has fixed this issue in the upstream
master branch [1] in commit 3044a90. Could you please apply this
patch to the Debian source?

Thanks,
Peter

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing'), (200, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libluabind-dev depends on:
ii  libboost-dev         1.48.0.3
ii  libboost-python-dev  1.48.0.3
ii  liblua5.1-0-dev      5.1.4-12
ii  libluabind0.9.1      0.9.1+dfsg-4

libluabind-dev recommends no packages.

Versions of packages libluabind-dev suggests:
pn  libluabind-doc       <none>
pn  libluabind-examples  <none>

-- no debconf information
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
In file included from /usr/include/luabind/make_function.hpp:13:
/usr/include/luabind/detail/format_signature.hpp:95:33: error: reference to 
'object' is ambiguous
LUABIND_TYPE_TO_STRING(luabind::object)
                                ^
/usr/include/luabind/detail/format_signature.hpp:73:27: note: expanded from:
    struct type_to_string<x> \
                          ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
/usr/include/luabind/detail/format_signature.hpp:96:33: error: reference to 
'argument' is ambiguous
LUABIND_TYPE_TO_STRING(luabind::argument)
                                ^
/usr/include/luabind/detail/format_signature.hpp:73:27: note: expanded from:
    struct type_to_string<x> \
                          ^
/usr/include/luabind/object.hpp:825:12: note: candidate found by name lookup is 
'luabind::argument'
using adl::argument;
           ^
/usr/include/luabind/detail/format_signature.hpp:19:7: note: candidate found by 
name lookup is 'luabind::argument'
class argument;
      ^
/usr/include/luabind/detail/format_signature.hpp:102:23: error: reference to 
'table' is ambiguous
struct type_to_string<table<Base> >
                      ^
/usr/include/luabind/object.hpp:1187:12: note: candidate found by name lookup 
is 'luabind::table'
using adl::table;
           ^
/usr/include/luabind/detail/format_signature.hpp:21:8: note: candidate found by 
name lookup is 'luabind::table'
struct table;
       ^
/usr/include/luabind/detail/format_signature.hpp:102:29: error: 'Base' does not 
refer to a value
struct type_to_string<table<Base> >
                            ^
/usr/include/luabind/detail/format_signature.hpp:101:17: note: declared here
template <class Base>
                ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:95:15: error: reference to 'object' is 
ambiguous
  LUABIND_API object make_function_aux(
              ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:99:33: error: reference to 'object' is 
ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:99:61: error: reference to 'object' is 
ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                                            ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:104:1: error: reference to 'object' is 
ambiguous
object make_function(lua_State* L, F f, Signature, Policies)
^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:104:8: error: incomplete result type 
'luabind::object' in function definition
object make_function(lua_State* L, F f, Signature, Policies)
       ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: forward 
declaration of 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:115:1: error: reference to 'object' is 
ambiguous
object make_function(lua_State* L, F f)
^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:8:
/usr/include/luabind/make_function.hpp:115:8: error: incomplete result type 
'luabind::object' in function definition
object make_function(lua_State* L, F f)
       ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: forward 
declaration of 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
/usr/include/luabind/detail/call_function.hpp:224:26: error: reference to 
'object' is ambiguous
                        friend class luabind::object;
                                              ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/usr/include/luabind/detail/call_function.hpp:359:25: error: reference to 
'object' is ambiguous
        call_function(luabind::object const& obj 
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), 
LUABIND_OPERATOR_PARAMS, _) )
                               ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/usr/include/luabind/detail/call_function.hpp:371:6: error: member access into 
incomplete type 'const luabind::object'
                obj.push(obj.interpreter());
                   ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: forward 
declaration of 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/usr/include/luabind/detail/call_function.hpp:372:24: error: member access into 
incomplete type 'const luabind::object'
                return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
                                     ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: forward 
declaration of 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/usr/include/luabind/detail/call_function.hpp:402:27: error: reference to 
'object' is ambiguous
        resume_function(luabind::object const& obj 
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), 
LUABIND_OPERATOR_PARAMS, _) )
                                 ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/usr/include/luabind/detail/call_function.hpp:414:6: error: member access into 
incomplete type 'const luabind::object'
                obj.push(obj.interpreter());
                   ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: forward 
declaration of 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/usr/include/luabind/detail/call_function.hpp:415:24: error: member access into 
incomplete type 'const luabind::object'
                return proxy_type(obj.interpreter(), 1, &detail::resume_impl, 
args);
                                     ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: forward 
declaration of 'luabind::object'
class object;
      ^
In file included from test_abstract_base.cpp:25:
In file included from /usr/include/luabind/luabind.hpp:28:
In file included from /usr/include/luabind/class.hpp:94:
In file included from /usr/include/luabind/function.hpp:10:
In file included from /usr/include/luabind/detail/call_function.hpp:320:
In file included from 
/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52:
/usr/include/luabind/detail/call_function.hpp:359:25: error: reference to 
'object' is ambiguous
        call_function(luabind::object const& obj 
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), 
LUABIND_OPERATOR_PARAMS, _) )
                               ^
/usr/include/luabind/object.hpp:824:12: note: candidate found by name lookup is 
'luabind::object'
using adl::object;
           ^
/usr/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by 
name lookup is 'luabind::object'
class object;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

Reply via email to