Ошибка компиляции Suricata luajit

В настоящее время я пытаюсь скомпилировать suricata (http://suricata-ids.org/) с поддержкой luajit на мой дистрибутив Arch Linux с помощью этих команд:

./configure --enable-luajit --with-libpcap-includes=/usr/local/pfring/include \
--with-libpcap-libraries=/usr/local/pfring/lib --with-libnss-libraries=/usr/lib \ 
--with-libnss-includes=/usr/include/nss/ --with-libnspr-libraries=/usr/lib \
--with-libnspr-includes=/usr/include/nspr \
--with-libluajit-includes=/usr/local/include/luajit-2.0/ \
--with-libluajit-libraries=/usr/lib/

тогда:

make

но я получаю следующие ошибки, когда я делаю проект:

detect-luajit.o: In function `LuaDumpStack':
detect-luajit.c:(.text+0x46e): undefined reference to `lua_tonumberx'
detect-luajit.o: In function `DetectLuajitMatchBuffer':
detect-luajit.c:(.text+0x5d6): undefined reference to `lua_getglobal'
detect-luajit.c:(.text+0x6b9): undefined reference to `lua_pcallk'
detect-luajit.c:(.text+0x7d5): undefined reference to `lua_tonumberx'
detect-luajit.o: In function `DetectLuajitMatch':
detect-luajit.c:(.text+0xaac): undefined reference to `lua_getglobal'
detect-luajit.c:(.text+0xde4): undefined reference to `lua_pcallk'
detect-luajit.c:(.text+0xf00): undefined reference to `lua_tonumberx'
detect-luajit.o: In function `DetectLuajitThreadInit':
detect-luajit.c:(.text+0x1864): undefined reference to `lua_pcallk'
detect-luajit.o: In function `DetectLuaSetupPrime':
detect-luajit.c:(.text+0x1fe7): undefined reference to `lua_pcallk'
detect-luajit.c:(.text+0x2167): undefined reference to `lua_getglobal'
detect-luajit.c:(.text+0x24bf): undefined reference to `lua_pcallk'
collect2: error: ld returned 1 exit status
make[2]: *** [suricata] Error 1

Сначала я подумал, что проблема связана с версией lua. Итак, я попытался установить и lua 5.1.5, и 5.2.2, переделав библиотеку и символические ссылки, но ничего не получилось. Спасибо за вашу помощь


person E-Kami    schedule 12.10.2013    source источник
comment
Эти функции специфичны для Lua 5.2, тогда как LuaJIT реализует только Lua 5.1.   -  person Colonel Thirty Two    schedule 14.10.2013
comment
Спасибо за эту информацию. Но он отлично скомпилировался на моей виртуальной машине Ubuntu с той же версией программы Lua/LuaJit, что и на моем Arch Linux. Так что должно быть решение, но я не могу его найти =/   -  person E-Kami    schedule 14.10.2013


Ответы (1)


В Debian и Ubuntu файлы библиотеки устанавливаются в /usr/lib/x86_64-linux-gnu/. Если Arch делает то же самое, ваша строка конфигурации должна включать: --with-libluajit-libraries=/usr/lib/x86_64-linux-gnu/

person Victor Julien    schedule 19.10.2013