DPDK patches and discussions
 help / color / mirror / Atom feed
From: Hossein Golestani <hosseing@umich.edu>
To: dev@dpdk.org
Subject: [dpdk-dev] Pktgen having problem with Lua on RHEL
Date: Tue, 18 Dec 2018 20:53:16 -0500	[thread overview]
Message-ID: <CAPtm8pRMhyKxdR6TT6gB1+u6aTTFKgmz+PxsJ8DwP8KFf2Gtxw@mail.gmail.com> (raw)

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

             reply	other threads:[~2018-12-19  1:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19  1:53 Hossein Golestani [this message]
2018-12-19 14:08 ` Wiles, Keith
2018-12-19 14:52   ` Hossein Golestani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPtm8pRMhyKxdR6TT6gB1+u6aTTFKgmz+PxsJ8DwP8KFf2Gtxw@mail.gmail.com \
    --to=hosseing@umich.edu \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).