Hi, I'm having a hard time compiling Pktgen on a Red Hat machine. The source of the problem is the Lua library.
I'm using Pktgen 3.5.9, and it requires Lua 5.3. Standard installation of Lua on RHEL ends up having Lua 5.1. So for having the latest release, I need to compile Lua from its source. My eventual problem is that I cannot appropriately link the compiled Lua library to Pktgen. Here's a detailed explanation of what I did: Based on the official website of Lua (link <http://www.lua.org/manual/5.3/readme.html>), for embedding Lua in C/C++ programs, the following files are required: *lua.h luaconf.h lualib.h lauxlib.h lua.hpp* *liblua.a* (which is created after compiling Lua) I put these files in the following directory: /home/me/lua/ ├── include │ ├── lauxlib.h │ ├── luaconf.h │ ├── lua.h │ ├── lua.hpp │ └── lualib.h └── liblua.a I made the following changes in Pktgen's Makefiles to include the Lua's header files and static library shown above: In *app/Makefile*: Replacing *MYLIBS += -lpktgen_lua $(shell pkg-config --libs-only-l lua5.3)* with *MYLIBS += -lpktgen_lua -L:/home/me/lua/liblua.a* Replacing *MYLIB_PATH += -L$(LUA_LIB) $(shell pkg-config --libs-only-L lua5.3)* with *MYLIB_PATH += -L$(LUA_LIB) **-L:/home/me/lua/liblua.a* Replacing *CFLAGS += -I/usr/include/lua5.3* with *CFLAGS += -I/home/me/lua/include* In *lib/lua/Makefile*: Replacing *CFLAGS += $(shell pkg-config --cflags lua5.3)* with *CFLAGS += -I/home/me/lua/include* Replacing LDLIBS += -L$(SRCDIR)/../lua/$(RTE_TARGET)/lib -llua with LDLIBS += -L$(SRCDIR)/../lua/$(RTE_TARGET)/lib -L:/home/hosseing/lua/liblua.a Then, when I make Pktgen, I receive thousands of errors, like this: */home/me/pktgen-3.5.9/app/../lib/lua/x86_64-native-linuxapp-gcc/lib/libpktgen_lua.a(rte_lua.o): In function `msghandler':* */home/me/pktgen-3.5.9/lib/lua/rte_lua.c:244: undefined reference to `lua_tolstring'* */home/me/pktgen-3.5.9/lib/lua/rte_lua.c:257: undefined reference to `luaL_traceback'* */home/me/pktgen-3.5.9/lib/lua/rte_lua.c:247: undefined reference to `luaL_callmeta'* */home/me/pktgen-3.5.9/lib/lua/rte_lua.c:248: undefined reference to `lua_type'* */home/me/pktgen-3.5.9/lib/lua/rte_lua.c:252: undefined reference to `lua_type'* */home/me/pktgen-3.5.9/lib/lua/rte_lua.c:252: undefined reference to `lua_typename'* *...* The included Lua header files seem to be OK. The problem seems to be because of how I link the liblua.a file. I'd really appreciate it if someone could help me on this. Thanks, Hossein