• Create Account

Banner advertising on our site currently available from just \$5!

# building luabind for gcc 4.8.1

5 replies to this topic

### #1AlanSmithee  Members   -  Reputation: 1357

Like
0Likes
Like

Posted 15 January 2014 - 08:25 PM

Hi.

I hope this is the right forum for this.

I am having some major problems getting luabind to even compile with mingw.

I have searched and followed every tutorial / stackoverflow thread / other documentation available and it doesn't help.

Steps taken:

1. Downloaded boost and build bjam with cmd "bootstrap.bat mingw" (tried versions 1.5.5, 1.5.4 and 1.3.4 same results)

2. Downloaded lua precompiled binaries (version 4.1.0 since that is supposidly the only one compatible with luabind)

3. Added environment variables BOOST_ROOT and LUA_PATH to their respective value

4. Added bjam path to environment variables

5. Downloaded luabind (tried all versions since 2006) and ran this in cmd "bjam stage toolset=gcc"

Output:

"g++"  -ftemplate-depth-128 -O0 -fno-inline -Wall -g  -DLUABIND_BUILDING  -I
"." -I"C:\boost_1_54_0" -I"C:\mingw_dev_lib\lua41\include" -c -o "bin\gcc-mingw-

gcc.compile.c++ bin\gcc-mingw-4.7.1\debug\src\stack_content_by_name.o
In file included from ./luabind/wrapper_base.hpp:31:0,
from ./luabind/back_reference.hpp:27,
from ./luabind/class.hpp:97,
from ./luabind/luabind.hpp:28,
from src\stack_content_by_name.cpp:25:
./luabind/detail/call_member.hpp:318:1: error: missing binary operator before to
ken "("
In file included from ./luabind/back_reference.hpp:27:0,
from ./luabind/class.hpp:97,
from ./luabind/luabind.hpp:28,
from src\stack_content_by_name.cpp:25:
./luabind/wrapper_base.hpp:90:1: error: missing binary operator before token "("

In file included from ./luabind/detail/constructor.hpp:39:0,
from ./luabind/class.hpp:98,
from ./luabind/luabind.hpp:28,
from src\stack_content_by_name.cpp:25:
./luabind/wrapper_base.hpp:90:1: error: missing binary operator before token "("

In file included from ./luabind/detail/constructor.hpp:41:0,
from ./luabind/class.hpp:98,
from ./luabind/luabind.hpp:28,
from src\stack_content_by_name.cpp:25:
./luabind/detail/signature_match.hpp:151:1: error: missing binary operator befor
e token "("
./luabind/detail/signature_match.hpp:227:1: error: missing binary operator befor
e token "("
In file included from ./luabind/detail/constructor.hpp:42:0,
from ./luabind/class.hpp:98,
from ./luabind/luabind.hpp:28,
from src\stack_content_by_name.cpp:25:
./luabind/detail/call_member.hpp:318:1: error: missing binary operator before to
ken "("
In file included from ./luabind/detail/constructor.hpp:43:0,
from ./luabind/class.hpp:98,
from ./luabind/luabind.hpp:28,
from src\stack_content_by_name.cpp:25:
./luabind/wrapper_base.hpp:90:1: error: missing binary operator before token "("


And it goes on and on with similar messages from different files...

If i run without toolset=gcc it compiles just fine with mcvs.. the .lib and .bin files are there, just like they should be..

I have looked at :

http://stackoverflow.com/questions/9631762/error-missing-binary-operator-before-token

and

https://svn.boost.org/trac/boost/ticket/6631

which seems to be related, but it doesn't help my situation.

Edited by AlanSmithee, 15 January 2014 - 08:30 PM.

### #2AlanSmithee  Members   -  Reputation: 1357

Like
0Likes
Like

Posted 16 January 2014 - 04:11 PM

This has been resolved... using angelscript instead

Got it working in no time.. with addons and stuff too.. after spending more than two days trying to compile and include lua, luabind, v8, spidermonkey and more....

I love to code.. i hate everything else around it, setting up environments, compiling stuff that never works arghhh!! *blowing off steam*

Thanks anyway =)

### #3JTippetts  Moderators   -  Reputation: 9674

Like
2Likes
Like

Posted 16 January 2014 - 04:56 PM

Luabind is basically obsolete. With some searching you can find personal repos maintained by individual users (often with their own "fixes") but the official is essentially dead and, given its reliance on Boost (and the accompanying relatively complex code that Boost uses) it's not really a surprise to me that it's starting to rot.

I've never seen that error before.

### #4AlanSmithee  Members   -  Reputation: 1357

Like
0Likes
Like

Posted 17 January 2014 - 05:53 AM

Ah ok, maybe it was a good thing it didn't work out then ;)

I think I got that error because I was using the wrong boost version, or that there were some errors when building boost.

I got past that later though, and actually managed to compile everything, but when trying to include luabind in my project it was complaining about missing references and all other sorts of things. And that was when I gave up on luabind

Good thing I didn't have to introduce boost in my project too.. there's no need for it now with C++11 (nor has there been for a while... for me anyways)

### #5JTippetts  Moderators   -  Reputation: 9674

Like
2Likes
Like

Posted 17 January 2014 - 08:23 AM

Ah ok, maybe it was a good thing it didn't work out then ;)

I think I got that error because I was using the wrong boost version, or that there were some errors when building boost.

I got past that later though, and actually managed to compile everything, but when trying to include luabind in my project it was complaining about missing references and all other sorts of things. And that was when I gave up on luabind

Good thing I didn't have to introduce boost in my project too.. there's no need for it now with C++11 (nor has there been for a while... for me anyways)

There's really nothing wrong with boost. It's just that it's 1) complex and 2) frequently changing to reflect the current state of the language and the usage patterns of the higher level users that drive it. But Boost sometimes contributes to the C++ standard, and even aside from that it is a fairly useful piece of software, so it doesn't hurt to try to become familiar with it.

### #6AlanSmithee  Members   -  Reputation: 1357

Like
0Likes
Like

Posted 17 January 2014 - 10:11 AM

Yeah, don't get me wrong, I have nothing against boost!

I used to use it before, for smart pointers, RNG's etc, and I know that a lot of that is now a part of the C++ standard, which is great!

But since I personally have no other use for boost than for the parts that are now already available using C++11, I just didn't see the point of adding another dependency to the project when I didn't have too, that's all.

PARTNERS