Skip to content

linker issues: undefined symbol: lua_tointeger #56

@ensonic

Description

@ensonic
> mkdir build; cd build
> cmake ..
-- The C compiler identification is GNU 4.8.4
-- Check for working C compiler: /home/ensonic/bin/cc
-- Check for working C compiler: /home/ensonic/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found Lua51: /usr/lib/x86_64-linux-gnu/liblua5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.1.5") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ensonic/projects/vitruvius/lua-cmsgpack/build
> make
Scanning dependencies of target cmsgpack
[100%] Building C object CMakeFiles/cmsgpack.dir/lua_cmsgpack.c.o
Linking C shared module cmsgpack.so
[100%] Built target cmsgpack
> lua ../test.lua 
lua: error loading module 'cmsgpack' from file './cmsgpack.so':
    ./cmsgpack.so: undefined symbol: lua_tointeger
stack traceback:
    [C]: in ?
    [C]: in function 'require'
    ../test.lua:5: in main chunk
    [C]: in ?
> ldd ./cmsgpack.so
    linux-vdso.so.1 =>  (0x00007ffeb3fe6000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fde16985000)
    /lib64/ld-linux-x86-64.so.2 (0x000055aa39fe4000)
> lua -v
Lua 5.2.3  Copyright (C) 1994-2013 Lua.org, PUC-Rio

Seems that the build is hardcoded to build against 5.1. Running under 5.1 works

lua5.1 ../test.lua 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions