hello,
I'm trying to install the Xavante webserver that has cgilua in its
dependencies, and cgilua needs Luafilesystem. Compiling cgilua
includes the build of luafilesystem. During the compilation of the
luafilesystem files I encountered the following compilation errors :
(in the "make cgi" process)
gcc -O2 -Wall -fPIC -W -Waggregate-return -Wcast-align
-Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings
-I/usr/local/include/lua5 -I../compat -dynamiclib -o
liblfs.1.0b.dylib lfs.o compat-5.1.o -llua -llualib -lm -ldl
/usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o(.text+0x18): In
function `_start':
../sysdeps/i386/elf/start.S:98: undefined reference to `main'
My first thoughts where that there's no need for a main function while
compiling what seems to be a shared library... So I investigated more
deeply and found out that the "-dynamiclib" option was a "darwin"
(mac OSX) gcc option, and not a linux one. The equivalent for linux is
"-shared". Using the -shared option in state of the -dynamiclib one
solved the compilation problem.
I don't know if it is a concern for the luafilesystem guys or the
cgilua ones... But I've seen that the luafilesystem/cgilua projects
admin is active in this list, so i believe he will be interessed in
this point. It's perhaps specified somewhere that the build process is
made for darwin and not linux, but I've not seen this mentioned
anywhere. The version of cgilua I'm uising is cgilua-5.0b2.
Thanks,
julien MARBACH