zeromq / lzmq

Lua binding to ZeroMQ
MIT License
136 stars 46 forks source link

Luarocks install lzmq failed #48

Closed alecwangcq closed 7 years ago

alecwangcq commented 7 years ago
ProxyChains-3.1 (http://proxychains.sf.net)
Installing https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lzmq-0.4.3-1.src.rock...
Using https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lzmq-0.4.3-1.src.rock... switching to 'build' mode
Archive:  v0.4.3.zip
72dbca09652bcc8f27a6ae2662f05d8220e25a2f
   creating: lzmq-0.4.3/
  inflating: lzmq-0.4.3/.gitignore   
  inflating: lzmq-0.4.3/.travis.yml  
   creating: lzmq-0.4.3/.travis/
  inflating: lzmq-0.4.3/.travis/platform.sh  
  inflating: lzmq-0.4.3/.travis/setup_lua.sh  
  inflating: lzmq-0.4.3/.travis/setup_sodium.sh  
  inflating: lzmq-0.4.3/.travis/setup_zmq.sh  
  inflating: lzmq-0.4.3/CMakeLists.txt  
  inflating: lzmq-0.4.3/LICENCE.txt  
  inflating: lzmq-0.4.3/README.md    
   creating: lzmq-0.4.3/cmake/
  inflating: lzmq-0.4.3/cmake/FindLua.cmake  
  inflating: lzmq-0.4.3/cmake/FindZMQ.cmake  
  inflating: lzmq-0.4.3/cmake/dist.cmake  
  inflating: lzmq-0.4.3/cmake/lua.cmake  
  inflating: lzmq-0.4.3/dist.info    
   creating: lzmq-0.4.3/doc/
  inflating: lzmq-0.4.3/doc/lzmq.ldoc  
   creating: lzmq-0.4.3/doc/lzmq/
  inflating: lzmq-0.4.3/doc/lzmq/loop.ldoc  
  inflating: lzmq-0.4.3/doc/lzmq/poller.ldoc  
  inflating: lzmq-0.4.3/doc/lzmq/threads.ldoc  
  inflating: lzmq-0.4.3/doc/lzmq/timer.ldoc  
   creating: lzmq-0.4.3/examples/
   creating: lzmq-0.4.3/examples/device/
  inflating: lzmq-0.4.3/examples/device/cli.lua  
  inflating: lzmq-0.4.3/examples/device/device.lua  
  inflating: lzmq-0.4.3/examples/device/srv.lua  
  inflating: lzmq-0.4.3/examples/echo_cli.lua  
  inflating: lzmq-0.4.3/examples/echo_loop.lua  
  inflating: lzmq-0.4.3/examples/echo_loop_raw.lua  
  inflating: lzmq-0.4.3/examples/monitor.lua  
   creating: lzmq-0.4.3/examples/perf/
  inflating: lzmq-0.4.3/examples/perf/local_lat.lua  
  inflating: lzmq-0.4.3/examples/perf/local_multipart.lua  
  inflating: lzmq-0.4.3/examples/perf/local_thr.lua  
  inflating: lzmq-0.4.3/examples/perf/remote_lat.lua  
  inflating: lzmq-0.4.3/examples/perf/remote_multipart.lua  
  inflating: lzmq-0.4.3/examples/perf/remote_thr.lua  
  inflating: lzmq-0.4.3/examples/perf/test_lat.bat  
  inflating: lzmq-0.4.3/examples/perf/test_multipart.bat  
  inflating: lzmq-0.4.3/examples/perf/test_thr.bat  
  inflating: lzmq-0.4.3/examples/perf/thread_lat.lua  
  inflating: lzmq-0.4.3/examples/perf/thread_thr.lua  
   creating: lzmq-0.4.3/examples/perf2/
   creating: lzmq-0.4.3/examples/perf2/lat/
  inflating: lzmq-0.4.3/examples/perf2/lat/inproc_lat.lua  
  inflating: lzmq-0.4.3/examples/perf2/lat/local_lat.lua  
  inflating: lzmq-0.4.3/examples/perf2/lat/remote_lat.lua  
   creating: lzmq-0.4.3/examples/perf2/lat_nomsg/
  inflating: lzmq-0.4.3/examples/perf2/lat_nomsg/inproc_lat.lua  
  inflating: lzmq-0.4.3/examples/perf2/lat_nomsg/local_lat.lua  
  inflating: lzmq-0.4.3/examples/perf2/lat_nomsg/remote_lat.lua  
  inflating: lzmq-0.4.3/examples/perf2/runner.lua  
   creating: lzmq-0.4.3/examples/perf2/thr/
  inflating: lzmq-0.4.3/examples/perf2/thr/inproc_thr.lua  
  inflating: lzmq-0.4.3/examples/perf2/thr/local_thr.lua  
  inflating: lzmq-0.4.3/examples/perf2/thr/remote_thr.lua  
   creating: lzmq-0.4.3/examples/perf2/thr_nomsg/
  inflating: lzmq-0.4.3/examples/perf2/thr_nomsg/inproc_thr.lua  
  inflating: lzmq-0.4.3/examples/perf2/thr_nomsg/local_thr.lua  
  inflating: lzmq-0.4.3/examples/perf2/thr_nomsg/remote_thr.lua  
  inflating: lzmq-0.4.3/examples/queue_device.lua  
  inflating: lzmq-0.4.3/examples/utils.lua  
  inflating: lzmq-0.4.3/examples/uv_actor.lua  
  inflating: lzmq-0.4.3/examples/zap.lua  
  inflating: lzmq-0.4.3/lakeconfig.lua  
  inflating: lzmq-0.4.3/lakefile     
   creating: lzmq-0.4.3/msvc/
  inflating: lzmq-0.4.3/msvc/luazmq.sln  
  inflating: lzmq-0.4.3/msvc/luazmq.vcproj  
  inflating: lzmq-0.4.3/msvc/lztimer.vcproj  
   creating: lzmq-0.4.3/rockspecs/
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.1.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.1.1-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.1.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.1.3-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.2.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.1-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.3-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.4-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.5-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.3.6-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.4.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.4.1-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.4.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-0.4.3-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.1.3-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.2.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.1-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.3-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.4-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.5-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.3.6-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.4.0-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.4.1-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.4.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-0.4.3-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-ffi-scm-0.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-scm-0.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-timer-0.1.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-timer-0.3.5-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-timer-0.4.2-1.rockspec  
  inflating: lzmq-0.4.3/rockspecs/lzmq-timer-scm-0.rockspec  
   creating: lzmq-0.4.3/script/
  inflating: lzmq-0.4.3/script/getsockopt.lua  
   creating: lzmq-0.4.3/src/
   creating: lzmq-0.4.3/src/lua/
   creating: lzmq-0.4.3/src/lua/lzmq/
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi.lua  
   creating: lzmq-0.4.3/src/lua/lzmq/ffi/
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/api.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/error.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/loop.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/lzmq.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/poller.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/threads.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/ffi/timer.lua  
   creating: lzmq-0.4.3/src/lua/lzmq/impl/
  inflating: lzmq-0.4.3/src/lua/lzmq/impl/loop.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/impl/threads.lua  
   creating: lzmq-0.4.3/src/lua/lzmq/llthreads/
  inflating: lzmq-0.4.3/src/lua/lzmq/llthreads/ex.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/loop.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/poller.lua  
  inflating: lzmq-0.4.3/src/lua/lzmq/threads.lua  
  inflating: lzmq-0.4.3/src/lzmq.c   
  inflating: lzmq-0.4.3/src/lzmq.def  
  inflating: lzmq-0.4.3/src/lzmq.h   
  inflating: lzmq-0.4.3/src/lzutils.c  
  inflating: lzmq-0.4.3/src/lzutils.h  
  inflating: lzmq-0.4.3/src/poller.c  
  inflating: lzmq-0.4.3/src/poller.h  
  inflating: lzmq-0.4.3/src/timer.def  
  inflating: lzmq-0.4.3/src/zcontext.c  
  inflating: lzmq-0.4.3/src/zcontext.h  
  inflating: lzmq-0.4.3/src/zerror.c  
  inflating: lzmq-0.4.3/src/zerror.h  
  inflating: lzmq-0.4.3/src/zmsg.c   
  inflating: lzmq-0.4.3/src/zmsg.h   
  inflating: lzmq-0.4.3/src/zpoller.c  
  inflating: lzmq-0.4.3/src/zpoller.h  
  inflating: lzmq-0.4.3/src/zsocket.c  
  inflating: lzmq-0.4.3/src/zsocket.h  
  inflating: lzmq-0.4.3/src/zsupport.h  
  inflating: lzmq-0.4.3/src/ztimer.c  
  inflating: lzmq-0.4.3/src/ztimer.h  
   creating: lzmq-0.4.3/test/
  inflating: lzmq-0.4.3/test/.luacov  
  inflating: lzmq-0.4.3/test/.luacov.ffi  
   creating: lzmq-0.4.3/test/lunit/
  inflating: lzmq-0.4.3/test/lunit/console.lua  
  inflating: lzmq-0.4.3/test/test.lua  
  inflating: lzmq-0.4.3/test/test_metadata.lua  
  inflating: lzmq-0.4.3/test/test_proxy.lua  
  inflating: lzmq-0.4.3/test/test_req_relaxed.lua  
  inflating: lzmq-0.4.3/test/test_threads.lua  
  inflating: lzmq-0.4.3/test/test_threads_actor.lua  
  inflating: lzmq-0.4.3/test/test_threads_actor_poll.lua  
  inflating: lzmq-0.4.3/test/test_threads_arg.lua  
  inflating: lzmq-0.4.3/test/test_threads_file.lua  
  inflating: lzmq-0.4.3/test/test_threads_fork.lua  
  inflating: lzmq-0.4.3/test/test_threads_fork_arg.lua  
  inflating: lzmq-0.4.3/test/test_threads_fork_opt.lua  
  inflating: lzmq-0.4.3/test/test_threads_opt.lua  
  inflating: lzmq-0.4.3/test/test_threads_sync.lua  
 extracting: lzmq-0.4.3/test/thread.lua  
  inflating: lzmq-0.4.3/test/utest.lua  
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/lzmq.c -o src/lzmq.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/lzutils.c -o src/lzutils.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/poller.c -o src/poller.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/zcontext.c -o src/zcontext.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/zerror.c -o src/zerror.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/zmsg.c -o src/zmsg.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/zpoller.c -o src/zpoller.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -O2 -fPIC -I/home/uname/torch/install/include -c src/zsocket.c -o src/zsocket.o -DLUAZMQ_USE_SEND_AS_BUF -DLUAZMQ_USE_TEMP_BUFFERS -DLUAZMQ_USE_ERR_TYPE_OBJECT -I/home/uname/packages/usr/include
gcc -shared -o lzmq.so -L/home/uname/torch/install/lib src/lzmq.o src/lzutils.o src/poller.o src/zcontext.o src/zerror.o src/zmsg.o src/zpoller.o src/zsocket.o -L/home/uname/packages/usr/lib -Wl,-rpath,/home/uname/packages/usr/lib: -lzmq
/usr/bin/ld: /home/uname/packages/usr/lib/libzmq.a(libzmq_la-zmq.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/home/uname/packages/usr/lib/libzmq.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

Error: Build error: Failed compiling module lzmq.so

I have installed libzmq3-dev_4.0.5+dfsg-2+deb8u1_amd64.deb and python-zmq_14.4.0-1_amd64.deb. Because I have no root privilege, so I have to first apt-get download xxx.deb, then ar x xxx.deb, finally tar xvf data.tar.gz... But I am still not able to install lzmq, what's wrong with this? I have no idea about the error information, totally lost.

bluca commented 7 years ago

try to avoid building with -fPIC

alecwangcq commented 7 years ago

Would u mind being more specific? Thanks. Because I install lzmq by simply using luarocks install lzmq.

bluca commented 7 years ago

The linker is complaining because the archive is not compiled with fPIC (strange, given it comes from Debian, but oh well), so I was just suggesting to try building without -fPIC, which as you can see is passed to gcc in that log.

I have no idea how luarocks works or how this can be achieved though.

An alternative would be for you to rebuild libzmq yourself so that the same compiler flags are used everywhere

alecwangcq commented 7 years ago

Thanks a lot! See https://github.com/luarocks/luarocks/issues/660