Neopallium / lua-zmq

Lua zeromq2 binding
http://github.com/Neopallium/lua-zmq
MIT License
151 stars 36 forks source link

cmake build fails on os x lion #16

Closed boggle closed 13 years ago

boggle commented 13 years ago

Trying to build lua-zmq with cmake on lion using homebrew installed lua-5.1.4 (compiled with gcc-4.2) I always get (see below)

Q: Am I doing something wrong? How should I set LUA_LIBRARIES? How should I configure ZMQ_PATH? Q: Do I have to do anything special to make this work with luajit-2?

Thanks for any help

(M=a205a8) build $ make Linking C shared module zmq.so ld: warning: directory not found for option '-L/usr/local/Cellar/zeromq/2.1.9/lib;-lzmq' Undefined symbols for architecture x86_64: "_lua_touserdata", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_simple_udata_toobj in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o "_luaL_typerror", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_simple_udata_toobj in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _ZMQ_Polleradd__meth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremovemeth in pre_generated-zmq.nobj.c.o ... "_lua_objlen", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_equal in pre_generated-zmq.nobj.c.o "_luaL_error", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _zmq_msg_t__set_datameth in pre_generated-zmq.nobj.c.o _zmq_msg_tset_size__meth in pre_generated-zmq.nobj.c.o "_lua_pushlightuserdata", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o ... "_lua_rawget", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o ... "_lua_rawequal", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o "_lua_rawgeti", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o "_lua_settop", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_type_register_package in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o ... "_lua_pushlstring", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _zmq_msg_t__tostringmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketgetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketrecvmeth in pre_generated-zmq.nobj.c.o _zmqdump_ffifunc in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o ... "_lua_getmetatable", referenced from: _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_pushnil", referenced from: _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luadelete in pre_generated-zmq.nobj.c.o _obj_type_register_constants in pre_generated-zmq.nobj.c.o _error_code__ZMQ_Errorpush in pre_generated-zmq.nobj.c.o _zmq_msg_tinitmeth in pre_generated-zmq.nobj.c.o ... "_lua_newuserdata", referenced from: _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o "_lua_setmetatable", referenced from: _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luadelete in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o ... "_lua_rawset", referenced from: _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_type_register_constants in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o "_lua_type", referenced from: _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o "_lua_remove", referenced from: _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_pushvalue", referenced from: _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _lua_checktype_ref in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_pushboolean", referenced from: _obj_udata_default_equal in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_equal in pre_generated-zmq.nobj.c.o _obj_type_register_constants in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _zmq_msg_tdeletemeth in pre_generated-zmq.nobj.c.o _zmq_msg_tclosemeth in pre_generated-zmq.nobj.c.o _zmq_msg_tmovemeth in pre_generated-zmq.nobj.c.o ... "_lua_getfield", referenced from: _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_pushfstring", referenced from: _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_concat", referenced from: _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_replace", referenced from: _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o "_lua_gettop", referenced from: _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_call", referenced from: _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_pushstring", referenced from: _obj_type_register_constants in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o _error_codeZMQ_Error__push in pre_generated-zmq.nobj.c.o _ZMQ_Ctxsocketmeth in pre_generated-zmq.nobj.c.o _zmqinitfunc in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o ... "_lua_pushnumber", referenced from: _obj_type_register_constants in pre_generated-zmq.nobj.c.o _ZMQ_Pollernext_reventsmeth in pre_generated-zmq.nobj.c.o "_luaL_register", referenced from: _obj_type_register_package in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_createtable", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o _zmqversionfunc in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_pushcclosure", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_luaL_newmetatable", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o "_lua_rawseti", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o _zmqversionfunc in pre_generated-zmq.nobj.c.o "_luaL_checktype", referenced from: _lua_checktype_ref in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o "_luaL_ref", referenced from: _lua_checktype_ref in pre_generated-zmq.nobj.c.o "_luaL_checkinteger", referenced from: _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o _zmq_msg_tinit_sizemeth in pre_generated-zmq.nobj.c.o _zmq_msg_tset_sizemeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketgetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o ... "_lua_settable", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_luaL_loadbuffer", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_pcall", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_isstring", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_tolstring", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_luaL_checklstring", referenced from: _zmq_msg_t__init_datameth in pre_generated-zmq.nobj.c.o _zmq_msg_tset_data__meth in pre_generated-zmq.nobj.c.o _ZMQ_Socketbindmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketconnectmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsendmeth in pre_generated-zmq.nobj.c.o "_lua_pushinteger", referenced from: _zmq_msg_tsizemeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketgetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketeventsmeth in pre_generated-zmq.nobj.c.o _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollernext_reventsmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollercountmeth in pre_generated-zmq.nobj.c.o ... "_luaL_argerror", referenced from: _ZMQ_Socketsetoptmeth in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o 17:08:39 03.09.11 "_luaL_optinteger", referenced from: _ZMQ_Socket__send_msgmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsendmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketrecv_msg__meth in pre_generated-zmq.nobj.c.o _ZMQ_Socketrecvmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollernewmeth in pre_generated-zmq.nobj.c.o "_lua_isuserdata", referenced from: _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremovemeth in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o "_lua_isnumber", referenced from: _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremovemeth in pre_generated-zmq.nobj.c.o "_lua_tonumber", referenced from: _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremove__meth in pre_generated-zmq.nobj.c.o "_lua_setfield", referenced from: _luaopen_zmq in pre_generated-zmq.nobj.c.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[2]: * [zmq.so] Error 1 make[1]: * [CMakeFiles

Neopallium commented 13 years ago

Try again with the latest code. I just pushed a fix to the CMake build files that should fix this for you.

boggle commented 13 years ago

Sry still doesn't work for me, same msg (upgraded to cmake 2.8.5) Looks like a linker problem (flat namespaces?) to me. Do I have to do anyhting special when building lua on lion?

Neopallium commented 13 years ago

The fix I committed should have fixed this warning: ld: warning: directory not found for option '-L/usr/local/Cellar/zeromq/2.1.9/lib;-lzmq'

Can you provide the output from a clean build with VERBOSE on: make clean all VERBOSE=1

boggle commented 13 years ago

Below is the output; my lua is linked against pthreads but that is not the cause of above problems (checked)

Somehow liblua is not linked in but I don't know how to adjust parameters to cmake to make that happen

(M=61f9e7: ../) build $ cmake -D CMAKE_C_COMPILER=/usr/bin/gcc-4.2 -D LUA_LIBRARIES='/usr/local/lib/liblua.5.1.4.dylib;/Developer/SDKs/MacOSX10.7.sdk/usr/lib/libpthread.dylib;/usr/lib/libm.dylib' .. -- The C compiler identification is GNU -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/bin/gcc-4.2 -- Check for working C compiler: /usr/bin/gcc-4.2 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Found Lua51: /usr/local/lib/liblua.5.1.4.dylib;/Developer/SDKs/MacOSX10.7.sdk/usr/lib/libpthread.dylib;/usr/lib/libm.dylib -- checking for one of the modules 'libzmq' -- Configuring done -- Generating done -- Build files have been written to: /usr/local/src/lua-zmq/build (M=61f9e7: ../) build $ make all VERBOSE=1/usr/local/Cellar/cmake/2.8.5/bin/cmake -H/usr/local/src/lua-zmq -B/usr/local/src/lua-zmq/build --check-build-system CMakeFiles/Makefile.cmake 0/usr/local/Cellar/cmake/2.8.5/bin/cmake -E cmake_progress_start /usr/local/src/lua-zmq/build/CMakeFiles /usr/local/src/lua-zmq/build/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make -f CMakeFiles/lua-zmq.dir/build.make CMakeFiles/lua-zmq.dir/depend cd /usr/local/src/lua-zmq/build && /usr/local/Cellar/cmake/2.8.5/bin/cmake -E cmake_depends "Unix Makefiles" /usr/local/src/lua-zmq /usr/local/src/lua-zmq /usr/local/src/lua-zmq/build /usr/local/src/lua-zmq/build /usr/local/src/lua-zmq/build/CMakeFiles/lua-zmq.dir/DependInfo.cmake --color= Dependee "/usr/local/src/lua-zmq/build/CMakeFiles/lua-zmq.dir/DependInfo.cmake" is newer than depender "/usr/local/src/lua-zmq/build/CMakeFiles/lua-zmq.dir/depend.internal". Dependee "/usr/local/src/lua-zmq/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/usr/local/src/lua-zmq/build/CMakeFiles/lua-zmq.dir/depend.internal". Scanning dependencies of target lua-zmq make -f CMakeFiles/lua-zmq.dir/build.make CMakeFiles/lua-zmq.dir/build /usr/local/Cellar/cmake/2.8.5/bin/cmake -E cmake_progress_report /usr/local/src/lua-zmq/build/CMakeFiles 1 [100%] Building C object CMakeFiles/lua-zmq.dir/src/pre_generated-zmq.nobj.c.o /usr/bin/gcc-4.2 -Dlua_zmq_EXPORTS -fPIC -I/usr/local/src/lua-zmq -I/usr/local/src/lua-zmq/build -I/usr/local/include -I/usr/local/Cellar/zeromq/2.1.9/include -o CMakeFiles/lua-zmq.dir/src/pre_generated-zmq.nobj.c.o -c /usr/local/src/lua-zmq/src/pre_generated-zmq.nobj.c Linking C shared module zmq.so /usr/local/Cellar/cmake/2.8.5/bin/cmake -E cmake_link_script CMakeFiles/lua-zmq.dir/link.txt --verbose=1 /usr/bin/gcc-4.2 -bundle -Wl,-headerpad_max_install_names -L/usr/local/Cellar/zeromq/2.1.9/lib -lzmq -o zmq.so CMakeFiles/lua-zmq.dir/src/pre_generated-zmq.nobj.c.o -L/usr/local/Cellar/zeromq/2.1.9/lib -lzmq Undefined symbols for architecture x86_64: "_lua_touserdata", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_simple_udata_toobj in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o "_luaL_typerror", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_simple_udata_toobj in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _ZMQ_Polleradd__meth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremovemeth in pre_generated-zmq.nobj.c.o ... "_lua_objlen", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_equal in pre_generated-zmq.nobj.c.o "_luaL_error", referenced from: _obj_udata_toobj in pre_generated-zmq.nobj.c.o _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _zmq_msg_t__set_datameth in pre_generated-zmq.nobj.c.o _zmq_msg_tset_size__meth in pre_generated-zmq.nobj.c.o "_lua_pushlightuserdata", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o ... "_lua_rawget", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o ... "_lua_rawequal", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o "_lua_rawgeti", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o "_lua_settop", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_type_register_package in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o ... "_lua_pushlstring", referenced from: _obj_udata_is_compatible in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _zmq_msg_t__tostringmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketgetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketrecvmeth in pre_generated-zmq.nobj.c.o _zmqdump_ffifunc in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o ... "_lua_getmetatable", referenced from: _obj_udata_luacheck_internal in pre_generated-zmq.nobj.c.o _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_luacheck in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_pushnil", referenced from: _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luadelete in pre_generated-zmq.nobj.c.o _obj_type_register_constants in pre_generated-zmq.nobj.c.o _error_code__ZMQ_Errorpush in pre_generated-zmq.nobj.c.o _zmq_msg_tinitmeth in pre_generated-zmq.nobj.c.o ... "_lua_newuserdata", referenced from: _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o "_lua_setmetatable", referenced from: _obj_udata_luapush in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_simple_udata_luadelete in pre_generated-zmq.nobj.c.o _obj_simple_udata_luapush in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o ... "_lua_rawset", referenced from: _obj_udata_luadelete_weak in pre_generated-zmq.nobj.c.o _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_type_register_constants in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o "_lua_type", referenced from: _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o "_lua_remove", referenced from: _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_pushvalue", referenced from: _obj_udata_luapush_weak in pre_generated-zmq.nobj.c.o _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _lua_checktype_ref in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_pushboolean", referenced from: _obj_udata_default_equal in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_equal in pre_generated-zmq.nobj.c.o _obj_type_register_constants in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _zmq_msg_tdeletemeth in pre_generated-zmq.nobj.c.o _zmq_msg_tclosemeth in pre_generated-zmq.nobj.c.o _zmq_msg_tmovemeth in pre_generated-zmq.nobj.c.o ... "_lua_getfield", referenced from: _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_pushfstring", referenced from: _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_concat", referenced from: _obj_udata_default_tostring in pre_generated-zmq.nobj.c.o _obj_simple_udata_default_tostring in pre_generated-zmq.nobj.c.o "_lua_replace", referenced from: _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o "_lua_gettop", referenced from: _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_call", referenced from: _obj_constructor_call_wrapper in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_pushstring", referenced from: _obj_type_register_constants in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o _error_codeZMQ_Error__push in pre_generated-zmq.nobj.c.o _ZMQ_Ctxsocketmeth in pre_generated-zmq.nobj.c.o _zmqinitfunc in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o ... "_lua_pushnumber", referenced from: _obj_type_register_constants in pre_generated-zmq.nobj.c.o _ZMQ_Pollernext_reventsmeth in pre_generated-zmq.nobj.c.o "_luaL_register", referenced from: _obj_type_register_package in pre_generated-zmq.nobj.c.o _obj_type_register in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_createtable", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o _zmqversionfunc in pre_generated-zmq.nobj.c.o _create_object_instance_cache in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_lua_pushcclosure", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o _luaopen_zmq in pre_generated-zmq.nobj.c.o "_luaL_newmetatable", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o "_lua_rawseti", referenced from: _obj_type_register in pre_generated-zmq.nobj.c.o _zmqversionfunc in pre_generated-zmq.nobj.c.o "_luaL_checktype", referenced from: _lua_checktype_ref in pre_generated-zmq.nobj.c.o _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o "_luaL_ref", referenced from: _lua_checktype_ref in pre_generated-zmq.nobj.c.o "_luaL_checkinteger", referenced from: _nobj_udata_new_ffi in pre_generated-zmq.nobj.c.o _zmq_msg_tinit_sizemeth in pre_generated-zmq.nobj.c.o _zmq_msg_tset_sizemeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketgetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o ... "_lua_settable", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_luaL_loadbuffer", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_pcall", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_isstring", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_lua_tolstring", referenced from: _nobj_try_loading_ffi in pre_generated-zmq.nobj.c.o "_luaL_checklstring", referenced from: _zmq_msg_t__init_datameth in pre_generated-zmq.nobj.c.o _zmq_msg_tset_data__meth in pre_generated-zmq.nobj.c.o _ZMQ_Socketbindmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketconnectmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsendmeth in pre_generated-zmq.nobj.c.o "_lua_pushinteger", referenced from: _zmq_msg_tsizemeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketgetoptmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketeventsmeth in pre_generated-zmq.nobj.c.o _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollernext_reventsmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollercountmeth in pre_generated-zmq.nobj.c.o ... "_luaL_argerror", referenced from: _ZMQ_Socketsetoptmeth in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o 13:13:26 04.09.11 "_luaL_optinteger", referenced from: _ZMQ_Socket__send_msgmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketsendmeth in pre_generated-zmq.nobj.c.o _ZMQ_Socketrecv_msg__meth in pre_generated-zmq.nobj.c.o _ZMQ_Socketrecvmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollernewmeth in pre_generated-zmq.nobj.c.o "_lua_isuserdata", referenced from: _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremovemeth in pre_generated-zmq.nobj.c.o _zmqinit_ctxfunc in pre_generated-zmq.nobj.c.o "_lua_isnumber", referenced from: _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremovemeth in pre_generated-zmq.nobj.c.o "_lua_tonumber", referenced from: _ZMQ_Polleraddmeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollermodifymeth in pre_generated-zmq.nobj.c.o _ZMQ_Pollerremove__meth in pre_generated-zmq.nobj.c.o "_lua_setfield", referenced from: _luaopen_zmq in pre_generated-zmq.nobj.c.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[2]: * [zmq.so] Error 1 make[1]: * [CMakeFiles/lua-zmq.dir/all] Error 2 make: *\ [all] Error 2 2 (M=61f9e7: ../) build $

Neopallium commented 13 years ago

Ok, I have pushed a change that should fix the linking errors for MAC OSX.

You don't need to set ZMQ_PATH or LUA_LIBRARIES.

The only variable you might need to set is CMAKE_INSTALL_PREFIX so the compiled C module and related .lua files are installed into the correct path for Lua/LuaJIT to find them. But from what I see in the output, the default should work.

Let me know if this works for you.

boggle commented 13 years ago

Ok, works now. Thank you though I still do have to set LUA_LIBRARIES to /usr/local/lib apparently or otherwise the FindLua51 module of cmake will not find lua. This /may/ be causes by the fact that the popular homebrew package manager installs it by symlinking but I have not checked this (homebrew symlinks all packages from /usr/local/Cellar/package/version to the /usr/local tree)