Skip to content

Makefile-created dylib not working on macOS #21

@aleclarson

Description

@aleclarson
git clone https://github.com/hoelzro/lua-linenoise.git
cd lua-linenoise
make

The .dylib produced by make is complaining about missing symbols.

Question: Why doesn't the Makefile produce a .so file instead?

Using tarantool v1.9.0:

error loading module 'linenoise' from file '/path/to/lua-linenoise/linenoise.dylib':
	dlopen(/path/to/lua-linenoise/linenoise.dylib, 6): Symbol not found: _lua_callk
  Referenced from: /path/to/lua-linenoise/linenoise.dylib
  Expected in: flat namespace
 in /path/to/lua-linenoise/linenoise.dylib

Using lua5.1:

lua5.1: error loading module 'linenoise' from file '/path/to/lua-linenoise/linenoise.dylib':
	dlopen(/path/to/lua-linenoise/linenoise.dylib, 2): Symbol not found: _luaL_setfuncs
  Referenced from: /path/to/lua-linenoise/linenoise.dylib
  Expected in: flat namespace
 in /path/to/lua-linenoise/linenoise.dylib
stack traceback:
	[C]: ?
	[C]: in function 'require'
	test.lua:11: in main chunk
	[C]: ?

Repro:

function add_cpath(cpath)
  package.cpath = cpath .. ';' .. package.cpath
end

add_cpath('/path/to/lua-linenoise/?.dylib')
require('linenoise')

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