I am trying to compile imapfilter 2.4.1 ( https://github.com/lefcha/imapfilter ) in CentOS 5.6. I believe I’ve got all the dependencies sorted but when I run make I get:
make[1]: Entering directory `/home/src/imapfilter-2.4.1/src'
cc -Wall -O -DMAKEFILE_SHAREDIR='"/usr/local/share/imapfilter"' -c -o core.o core.c
core.c:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ifcorelib’
core.c: In function ‘ifcore_append’:
core.c:947: warning: implicit declaration of function ‘lua_strlen’
core.c: In function ‘luaopen_ifcore’:
core.c:1162: warning: implicit declaration of function ‘luaL_register’
core.c:1162: error: ‘ifcorelib’ undeclared (first use in this function)
core.c:1162: error: (Each undeclared identifier is reported only once
core.c:1162: error: for each function it appears in.)
make[1]: *** [core.o] Error 1
make[1]: Leaving directory `/home/src/imapfilter-2.4.1/src'
make: *** [all] Error 2
Based on other user comments and file revision dates I am sure this should compile. I am guessing I’m missing a library somewhere. I’ll appreciate any help I can get on this.
Starting from first error message:
Line 41 of core.c is:
Cryptic message from gcc means that it knows nothing about what is the
luaL_regand it thinks that it is variable name. Then it goes into panic when reads second variable name in the same definition/declaration.luaL_regshould be something like struct.So, it seems that your problems are located in LUA development headers. May be you have too old or even to modern Lua package.
The imapfilter’s github’s readme says:
Are you sure that your lua is 5.1 and the lua-devel (or any other package with lua headers) is 5.1 too?