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