lua-users home
lua-l archive

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

Julien MARBACH a écrit :

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.


julien MARBACH

Forget it, it's explained in the config file...... I need some sleep !

# OS dependent
LIB_EXT= .dylib
#LIB_EXT= .so
LIB_OPTION= -dynamiclib #for MacOS X
#LIB_OPTION= -shared #for Linux