Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Lua prebuilt functions cause script to terminate. Environment issues?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 Zouflain   Members   -  Reputation: 532

Like
0Likes
Like

Posted 17 September 2012 - 11:48 AM

I suspect this has to do with the recent change of operating system, but I'm having a rather frustrating time with trying to work with Lua's metatables on my newest linux install (Ubuntu 12.04). I've used Lua in just about every game I've written, and never seen this before. Put simply, scripts terminate at the first mention of getmetatable or setmetatable. I suspect it has to do with the environment or some sort of global blacklist, because none of the predefined functions appear to work (so even print('hello world') causes termination!), but I've never before had to deal with it before whilst working with Lua on windows and for basic OOD, I'll need get- and setmetatable.

Is the environment blacklisted by default on Linux (or, specifically, Ubuntu)? And if it starts without defining the default functions, how can I create a global environment that enables them without being able to refer to the functions I wish to enable in that environment? I imagine I have to do it from the C++ side, but I can't find the appropriate documentation for this (http://pgl.yoyo.org/luai/i/lua_setfenv is not appropriate if there is no way to create a table with the correct references from within lua itself).

Sponsor:

#2 FLeBlanc   Crossbones+   -  Reputation: 3117

Like
1Likes
Like

Posted 17 September 2012 - 12:04 PM

Are you using the distributed Lua interpreter, or one you've built yourself? It sounds as if luaL_openlibs isn't being called on your state, if none of the built-ins are available.

#3 Zouflain   Members   -  Reputation: 532

Like
0Likes
Like

Posted 17 September 2012 - 01:14 PM

Are you using the distributed Lua interpreter, or one you've built yourself? It sounds as if luaL_openlibs isn't being called on your state, if none of the built-ins are available.

Aha! I did not build this myself, I used one of the official distributions (actually, through my package manager). This did the trick. Thank you. (Thinking about it, it seems as though I should have had to do this on windows. Why didn't I?).

#4 FLeBlanc   Crossbones+   -  Reputation: 3117

Like
0Likes
Like

Posted 17 September 2012 - 02:07 PM

That's weird that an official distribution build was broken like this. You might check with the package maintainer and make sure they haven't inadvertently broken something. Or, it could possibly have been some kind of "safe" build (since access to the basic libraries, such as the OS stuff, could be regarded by some as "unsafe"). Glad you fixed your problem, though.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS