Wireshark-dev: Re: [Wireshark-dev] Building Wireshark 2.6.2 with Lua gives me an error ...

From: Peter Wu <peter@xxxxxxxxxxxxx>
Date: Sat, 8 Jun 2019 17:09:11 -0700
On Sat, Jun 08, 2019 at 01:13:44PM -0700, Richard Sharpe wrote:
> Hi folks,
> 
> I am getting this error trying to build Wireshark with Lua:
> 
> --------------------
> /usr/bin/ld: /usr/local/lib/liblua.a(lapi.o): relocation R_X86_64_32
> against hidden symbol `luaO_nilobject_' can not be used when making a
> shared object
> /usr/bin/ld: /usr/local/lib/liblua.a(ldebug.o): relocation R_X86_64_32
> against `.rodata.str1.1' can not be used when making a shared object;
> recompile with -fPIC
> /usr/bin/ld: /usr/local/lib/liblua.a(ldo.o): relocation R_X86_64_32
> against `.rodata.str1.1' can not be used when making a shared object;
> recompile with -fPIC
> /usr/bin/ld: /usr/local/lib/liblua.a(lgc.o): relocation R_X86_64_32S
> against `.rodata' can not be used when making a shared object;
> recompile with -fPIC
> --------------------
> 
> Looks like maybe I need install Lua as a shared library.
> 
> Does that make sense?

If you build Lua from source as a shared library, be sure to include the
-fPIC option to build position-independent code that can be linked to
Wireshark. See for example this patch and the build script:
https://git.archlinux.org/svntogit/packages.git/tree/trunk/liblua.so.patch?h=packages/lua52
https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/lua52

However if you are using Fedora, install the compat-lua and
compat-lua-devel scripts. See also tools/rpm-setup.sh or
packaging/rpm/wireshark.spec.in files.
-- 
Kind regards,
Peter Wu
https://lekensteyn.nl