eglaysher / rlvm

RealLive clone for Linux and OSX
http://rlvm.net
GNU General Public License v3.0
150 stars 25 forks source link

Can't compile luabind on macOS/Clang #81

Closed Naville closed 1 year ago

Naville commented 6 years ago

Can we possibly use dynamic libraries installed by homebrew?

eglaysher commented 6 years ago

Sure, there's already example code on how to use a system package in the repository.

(That said, if you're building a release package, you shouldn't be compiling luarlvm in the first place. It is a testing tool.)

Naville commented 6 years ago

I was compiling with scons --release and still no luck In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:93: In file included from vendor/luabind/include/luabind/back_reference.hpp:27: In file included from vendor/luabind/include/luabind/wrapper_base.hpp:31: In file included from vendor/luabind/include/luabind/detail/call_member.hpp:30: In file included from vendor/luabind/include/luabind/detail/convert_to_lua.hpp:28: vendor/luabind/include/luabind/detail/policy.hpp:748:52: error: use of undeclared identifier 'lua_strlen' return std::string(lua_tostring(L, index), lua_strlen(L, index)); ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:93: In file included from vendor/luabind/include/luabind/back_reference.hpp:27: In file included from vendor/luabind/include/luabind/wrapper_base.hpp:31: In file included from vendor/luabind/include/luabind/detail/call_member.hpp:34: vendor/luabind/include/luabind/object.hpp:214:27: error: use of undeclared identifier 'lua_equal'; did you mean 'lua_rawequal'? LUABIND_BINARY_OP_DEF(==, lua_equal) ^~~~~~~~~ lua_rawequal vendor/luabind/include/luabind/object.hpp:211:14: note: expanded from macro 'LUABIND_BINARY_OP_DEF' return fn(L, -1, -2) != 0; \ ^ /usr/local/include/lua.h:198:16: note: 'lua_rawequal' declared here LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:93: In file included from vendor/luabind/include/luabind/back_reference.hpp:27: In file included from vendor/luabind/include/luabind/wrapper_base.hpp:31: In file included from vendor/luabind/include/luabind/detail/call_member.hpp:34: vendor/luabind/include/luabind/object.hpp:215:26: error: use of undeclared identifier 'lua_lessthan' LUABIND_BINARY_OP_DEF(<, lua_lessthan) ^ vendor/luabind/include/luabind/object.hpp:228:27: error: use of undeclared identifier 'lua_strlen' std::size_t len = lua_strlen(interpreter, -1); ^ vendor/luabind/include/luabind/object.hpp:1214:32: error: use of undeclared identifier 'LUA_GLOBALSINDEX' lua_pushvalue(interpreter, LUA_GLOBALSINDEX); ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: In file included from vendor/luabind/include/luabind/make_function.hpp:13: vendor/luabind/include/luabind/detail/format_signature.hpp:18:1: error: declaration conflicts with target of using declaration already in scope class object; ^ vendor/luabind/include/luabind/object.hpp:727:9: note: target of using declaration class object : public object_interface<object> ^ vendor/luabind/include/luabind/object.hpp:828:12: note: using declaration using adl::object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: In file included from vendor/luabind/include/luabind/make_function.hpp:13: vendor/luabind/include/luabind/detail/format_signature.hpp:19:1: error: declaration conflicts with target of using declaration already in scope class argument; ^ vendor/luabind/include/luabind/object.hpp:794:9: note: target of using declaration class argument : public object_interface<argument> ^ vendor/luabind/include/luabind/object.hpp:829:12: note: using declaration using adl::argument; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: In file included from vendor/luabind/include/luabind/make_function.hpp:13: vendor/luabind/include/luabind/detail/format_signature.hpp:21:1: error: declaration conflicts with target of using declaration already in scope struct table; ^ vendor/luabind/include/luabind/object.hpp:1182:10: note: target of using declaration struct table : Base ^ vendor/luabind/include/luabind/object.hpp:1191:12: note: using declaration using adl::table; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: In file included from vendor/luabind/include/luabind/make_function.hpp:13: vendor/luabind/include/luabind/detail/format_signature.hpp:95:33: error: reference to 'object' is ambiguous LUABIND_TYPE_TO_STRING(luabind::object) ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by name lookup is 'luabind::object' class object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:96:33: error: reference to 'argument' is ambiguous LUABIND_TYPE_TO_STRING(luabind::argument) ^ vendor/luabind/include/luabind/object.hpp:829:12: note: candidate found by name lookup is 'luabind::argument' using adl::argument; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:19:7: note: candidate found by name lookup is 'luabind::argument' class argument; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:102:23: error: reference to 'table' is ambiguous struct type_to_string<table<Base> > ^ vendor/luabind/include/luabind/object.hpp:1191:12: note: candidate found by name lookup is 'luabind::table' using adl::table; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:21:8: note: candidate found by name lookup is 'luabind::table' struct table; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:102:29: error: 'Base' does not refer to a value struct type_to_string<table<Base> > ^ vendor/luabind/include/luabind/detail/format_signature.hpp:101:17: note: declared here template <class Base> ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/include/luabind/make_function.hpp:95:15: error: reference to 'object' is ambiguous LUABIND_API object make_function_aux( ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by name lookup is 'luabind::object' class object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/include/luabind/make_function.hpp:99:33: error: reference to 'object' is ambiguous LUABIND_API void add_overload(object const&, char const*, object const&); ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by name lookup is 'luabind::object' class object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/include/luabind/make_function.hpp:99:33: error: reference to 'object' is ambiguous LUABIND_API void add_overload(object const&, char const*, object const&); ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by name lookup is 'luabind::object' class object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/include/luabind/make_function.hpp:99:61: error: reference to 'object' is ambiguous LUABIND_API void add_overload(object const&, char const*, object const&); ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by name lookup is 'luabind::object' class object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/include/luabind/make_function.hpp:104:1: error: reference to 'object' is ambiguous object make_function(lua_State* L, F f, Signature, Policies) ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: candidate found by name lookup is 'luabind::object' class object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/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) ^ vendor/luabind/include/luabind/detail/format_signature.hpp:18:7: note: forward declaration of 'luabind::object' class object; ^ In file included from vendor/luabind/src/class.cpp:30: In file included from vendor/luabind/include/luabind/class.hpp:94: In file included from vendor/luabind/include/luabind/function.hpp:8: vendor/luabind/include/luabind/make_function.hpp:115:1: error: reference to 'object' is ambiguous object make_function(lua_State* L, F f) ^ vendor/luabind/include/luabind/object.hpp:828:12: note: candidate found by name lookup is 'luabind::object' using adl::object; ^ vendor/luabind/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. scons: *** [build/release/build/libraries/luabind/src/class.o] Error 1 scons: building terminated because of errors.