Re: attempt to concatenate field 'value' (a function value)
Daniel Squires <[email protected]> Sat, 01 Nov 2014 22:28:45 +0000
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <[email protected]> |
--===============7585520686691067513== Content-Type: multipart/alternative; boundary="----MJK0MGZYZGSZ672SUD9FM51ZXWA8S9" Content-Transfer-Encoding: 8bit ------MJK0MGZYZGSZ672SUD9FM51ZXWA8S9 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Brilliant thanks. I can confirm that fixes my problem, at least in the test case. I'll try my main app tomorrow. On 1 November 2014 19:34:42 GMT+00:00, Andreas Grob <[email protected]> wrote: >I can confirm your error with luabind 0.9.1+dfsg-8, which is what Mint >17 is using. >An update of libluabind and libluabind-dev to 0.9.1+dfsg-9 (from debian > >sid) resolves the problem. > >Regards, >Andreas > >Am 01.11.2014 um 19:42 schrieb [email protected]: >> oops, I had missed that out of the simplified test case, however it >still >> isn't working for me after adding that in :(. >> >> I guess lua or luabind is broken on my system (Linux Mint 17) >> >>> Hello, >>> >>> Your Lua code should not be working at all, since no libraries are >>> loaded and print isn't even defined. >>> After adding luaL_openlibs(L); after creating the Lua state, it >works >>> fine for me: >>> >>> $ ./lua >>> value : 4 >>> >>> Regards, >>> Andreas >>> >>> >>> Am 01.11.2014 um 18:45 schrieb [email protected]: >>>> Can anybody explain this for me? It used to work on an older system >with >>>> lua5.1. >>>> >>>> i'm now using lua5.2, luabind version us 0.9.1 (on both systems) >>>> >>>> g++ -o lua lua.cpp -lluabind -llua5.2 -ldl -I /usr/include/lua5.2 >>>> ./lua >>>> lua runtime error >>>> [string "function test(t)..."]:2: attempt to concatenate field >'value' >>>> (a >>>> function value) >>>> >>>> extern "C" { >>>> #include "lua.h" >>>> #include "lualib.h" >>>> #include "lauxlib.h" >>>> } >>>> >>>> #include <luabind/luabind.hpp> >>>> #include <iostream> >>>> >>>> struct Test >>>> { >>>> Test(int v) : value(v) {}; >>>> ~Test() {}; >>>> int value; >>>> }; >>>> >>>> >>>> int DebuggerFunc(lua_State* L) >>>> { >>>> luabind::object error_msg(luabind::from_stack(L, -1)); >>>> std::cerr << error_msg << std::endl; >>>> return 0; >>>> } >>>> >>>> int main() { >>>> lua_State *L = luaL_newstate(); >>>> luabind::open(L); >>>> >>>> luabind::module(L) >>>> [ >>>> luabind::class_<Test>("Test") >>>> .def(luabind::constructor<int>()) >>>> .def_readonly("value",&Test::value) >>>> ]; >>>> >>>> luaL_dostring( >>>> L, >>>> "function test(t)\n" >>>> " print(\"value : \" .. t.value)\n" >>>> "end\n" >>>> ); >>>> >>>> Test t(4); >>>> >>>> try { >>>> luabind::call_function<int>(L, "test", &t); >>>> } >>>> catch (const luabind::error &er) >>>> { >>>> std::cerr << er.what() << std::endl; >>>> lua_State* Ler=er.state(); >>>> DebuggerFunc(Ler); >>>> } >>>> catch (...) >>>> { >>>> std::cerr << "Unknown error!" << std::endl; >>>> } >>>> lua_close(L); >>>> } >>>> >>>> >>>> >------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> luabind-user mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/luabind-user >>> >>> >------------------------------------------------------------------------------ >>> _______________________________________________ >>> luabind-user mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/luabind-user >>> >> >> >> >------------------------------------------------------------------------------ >> _______________________________________________ >> luabind-user mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/luabind-user > > >------------------------------------------------------------------------------ >_______________________________________________ >luabind-user mailing list >[email protected] >https://lists.sourceforge.net/lists/listinfo/luabind-user -- Sent from my Android device with K-9 Mail. Please excuse my brevity. ------MJK0MGZYZGSZ672SUD9FM51ZXWA8S9 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit <html><head></head><body>Brilliant thanks. I can confirm that fixes my problem, at least in the test case. I'll try my main app tomorrow. <br><br><div class="gmail_quote">On 1 November 2014 19:34:42 GMT+00:00, Andreas Grob <[email protected]> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> <pre class="k9mail">I can confirm your error with luabind 0.9.1+dfsg-8, which is what Mint <br />17 is using.<br />An update of libluabind and libluabind-dev to 0.9.1+dfsg-9 (from debian <br />sid) resolves the problem.<br /><br />Regards,<br />Andreas<br /><br />Am 01.11.2014 um 19:42 schrieb [email protected]:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> oops, I had missed that out of the simplified test case, however it still<br /> isn't working for me after adding that in :(.<br /><br /> I guess lua or luabind is broken on my system (Linux Mint 17)<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> Hello,<br /><br /> Your Lua code should not be working at all, since no libraries are<br /> loaded and print isn't even defined.<br /> After adding luaL_openlibs(L); after creating the Lua state, it works<br /> fine for me:<br /><br /> $ ./lua<br /> value : 4<br /><br /> Regards,<br /> Andreas<br /><br /><br /> Am 01.11.2014 um 18:45 schrieb [email protected]:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"> Can anybody explain this for me? It used to work on an older system with<br /> lua5.1.<br /><br /> i'm now using lua5.2, luabind version us 0.9.1 (on both systems)<br /><br /> g++ -o lua lua.cpp -lluabind -llua5.2 -ldl -I /usr/include/lua5.2<br /> ./lua<br /> lua runtime error<br /> [string "function test(t)..."]:2: attempt to concatenate field 'value'<br /> (a<br /> function value)<br /><br /> extern "C" {<br /> #include "lua.h"<br /> #include "lualib.h"<br /> #include "lauxlib.h"<br /> }<br /><br /> #include <luabind/l uabind.hpp><br /> #include <iostream><br /><br /> struct Test<br /> {<br /> Test(int v) : value(v) {};<br /> ~Test() {};<br /> int value;<br /> };<br /><br /><br /> int DebuggerFunc(lua_State* L)<br /> {<br /> luabind::object error_msg(luabind::from_stack(L, -1));<br /> std::cerr << error_msg << std::endl;<br /> return 0;<br /> }<br /><br /> int main() {<br /> lua_State *L = luaL_newstate();<br /> luabind::open(L);<br /><br /> luabind::module(L)<br /> [<br /> luabind::class_<Test>("Test")<br /> .def(luabind::constructor<int>())<br /> .def_readonly("value",&Test::value)<br /> ];<br /><br /> luaL_dostring(<br /> L,<br /> "function test(t)\n"<br /> " print(\"value : \" .. t.value)\n"<br /> "end\n"<br /> );<br /><br /> Test t(4);<br /><br /> try {<br /> luabind::call_function<int>(L, "test", &t);<br /> }<br /> catch (const luab ind::error &er)<br /> {<br /> std::cerr << er.what() << std::endl;<br /> lua_State* Ler=er.state();<br /> DebuggerFunc(Ler);<br /> }<br /> catch (...)<br /> {<br /> std::cerr << "Unknown error!" << std::endl;<br /> }<br /> lua_close(L);<br /> }<br /><br /><br /><hr /><br /><hr /><br /> luabind-user mailing list<br /> [email protected]<br /> <a href="https://lists.sourceforge.net/lists/listinfo/luabind-user">https://lists.sourceforge.net/lists/listinfo/luabind-user</a><br /></blockquote><br /><hr /><br /><hr /><br /> luabind-user mailing list<br /> [email protected]<br /> <a href="https://lists.sourceforge.net/lists/listinfo/luabind-user">https://lists.sourceforge.net/lists/listinfo/luabind-user</a></blockquote><br /><br /><br /><hr /><br /><hr /><br /> luabind-user mailing list<br /> [email protected]<br /> <a href="https://lists.sourceforge.net/lists/ listinfo/luabind-user">https://lists.sourceforge.net/lists/listinfo/luabind-user</a><br /></blockquote><br /><br /><hr /><br /><hr /><br />luabind-user mailing list<br />[email protected]<br /><a href="https://lists.sourceforge.net/lists/listinfo/luabind-user">https://lists.sourceforge.net/lists/listinfo/luabind-user</a><br /></pre></blockquote></div><br> -- <br> Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html> ------MJK0MGZYZGSZ672SUD9FM51ZXWA8S9-- --===============7585520686691067513== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ --===============7585520686691067513== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ luabind-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/luabind-user --===============7585520686691067513==--