lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

If you don't necessarily want to fight it yourself (if playing around is your main objective) you could try LuaX and/or LuaCheia. They'll work on both *nix and Win32, without modifications.

That said, getting official lposix in Lua releases will be a Good Thing.


25.10.2004 kello 22:38, Keith Pimmel kirjoitti:


I'm playing around with lua, trying to convince myself that it is a tool that I want to start using as my scripting language of choice for work and play. One of the things I need is the ability to traverse directories, check for existance, parse multiple files, ad naseum, and the lposix library module of lhf looks to
fit that to a tee.

My problem is that I'm a bit ignorant on compiling and linking. I modified the included makefile to reflect back to my lua installation, and tried make. I
initially failed with a comment of
'_SC_STREAM_MAX' undeclared here (not in function)

My hack for that error was to arbitrarily #define _SC_STREAM_MAX to 100 for a lack of a better value, since it is not defined in the unistd.h file shipped
with cygwin.

Typing make again generates the object file (lposix.o), but when it tries to generate the shared object, I get a steady stream of error messages saying
things like:
lposix.o(.text+0x3ba):lposix.c: undefined reference to `_lua_type'
lposix.o(.text+0x3d1):lposix.c: undefined reference to `_luaL_checklstring' lposix.o(.text+0x3dd):lposix.c: undefined reference to `_luaL_findstring'
lposix.o(.text+0x411):lposix.c: undefined reference to `_luaL_argerror'
lposix.o(.text+0x41d):lposix.c: undefined reference to `_lua_newtable'
lposix.o(.text+0x438):lposix.c: undefined reference to `_lua_pushstring'
lposix.o(.text+0x45a):lposix.c: undefined reference to `_lua_settable'
lposix.o(.text+0x48d):lposix.c: undefined reference to `_lua_pushstring' lposix.o(.text+0x4cd):lposix.c: undefined reference to `_lua_pushstring' lposix.o(.text+0x4d9):lposix.c: undefined reference to `_lua_pushstring' lposix.o(.text+0x51d):lposix.c: undefined reference to `_lua_pushstring' lposix.o(.text+0x52c):lposix.c: undefined reference to `_lua_pushnumber'
lposix.o(.text+0x566):lposix.c: undefined reference to `_lua_pushnil'
lposix.o(.text+0x591):lposix.c: undefined reference to `_lua_pushfstring' lposix.o(.text+0x5a4):lposix.c: undefined reference to `_lua_pushnumber' lposix.o(.text+0x5ce):lposix.c: undefined reference to `_lua_pushstring'
...(lather rinse repeat)

making it look like it isn't finding the libraries it needs. However, the -I path is valid pointing to my lua distro include path. I'll be the first to claim bleeding ignorance when compiling *nix-type stuff on cygwin; my question is does this need to be converted into a compilation of a DLL and then go from there.

Another comment is that the -fPIC flag appears to be ignored if I am to believe
the output.

A more general question is has anyone ever compiled the lposix stuff on cygwin,
and if so, what steps did you have to take to do so?

Thanks for any insight.

Feel free to respond directly to me in addition to the list: