Я работаю над действительно старым исходным кодом (скомпилированным в Red Hat). До этого у него был lua-4.0.1, поэтому я просто скомпилировал последний lua (lua-5.1.4) и установил его в тот же каталог, что и старый. Реализация не очень большая, так что не нужно было ничего менять, кроме нескольких имен функций, и мне пришлось включить «lauxlib.h», чтобы заставить его скомпилировать. Он компилируется без проблем, но выдает эти ошибки компоновки.
/usr/local/lib/liblua.a(loadlib.o): In function `ll_load':
loadlib.o(.text+0x19): undefined reference to `dlopen'
loadlib.o(.text+0x2a): undefined reference to `dlerror'
/usr/local/lib/liblua.a(loadlib.o): In function `ll_sym':
loadlib.o(.text+0x52): undefined reference to `dlsym'
loadlib.o(.text+0x63): undefined reference to `dlerror'
/usr/local/lib/liblua.a(loadlib.o): In function `ll_unloadlib':
loadlib.o(.text+0x8): undefined reference to `dlclose'
В основном все пути правильные, но я использую те же флаги для компилятора, что и старый, я вообще не менял make-файл.
-static -lpthread -lnsl -lutil -ldl -lmysqlclient -llua -llualib -lz -lcppunit
Флаг ldl уже есть.
Я просто хочу знать, что попробовать. Все ценится. Это сводит меня с ума.