Closed hnakamur closed 11 years ago
Hi,
Ray is not in a usable state to at the moment. I've been pushing commits mainly to sync between various machines and to record my progress. There's no point currently trying to build it. Once it's compiling I'll create a new github repo for it.
Cheers, Richard
On 11/13/12 4:52 PM, Hiroaki Nakamura wrote:
I've installed LuaJIT-2.0.0 on Ubuntu 12.04 x86_64. I got an error when running make on the ray branch (commit 597cd0f https://github.com/richardhundt/luv/commit/597cd0f4c283f25c7ea6acf010cb7bf03f765b2d)
$ make git submodule update --init ./src/uv Submodule 'src/uv' () registered for path 'src/uv' mkdir -p ./ray make -C ./src make[1]: Entering directory /home/hnakamur/ray/src' make CFLAGS="-fPIC" -C ./uv make[2]: Entering directory
/home/hnakamur/ray/src/uv' cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/async.c -o src/unix/async.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/core.c -o src/unix/core.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/dl.c -o src/unix/dl.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/error.c -o src/unix/error.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/fs.c -o src/unix/fs.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/getaddrinfo.c -o src/unix/getaddrinfo.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/loop.c -o src/unix/loop.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/loop-watcher.c -o src/unix/loop-watcher.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/pipe.c -o src/unix/pipe.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/poll.c -o src/unix/poll.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/process.c -o src/unix/process.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/signal.c -o src/unix/signal.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/stream.c -o src/unix/stream.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/tcp.c -o src/unix/tcp.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/thread.c -o src/unix/thread.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/threadpool.c -o src/unix/threadpool.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/timer.c -o src/unix/timer.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/tty.c -o src/unix/tty.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/udp.c -o src/unix/udp.o cc -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/ev/ev.c -o src/unix/ev/ev.o -DEV_CONFIG_H=\"config_linux.h\" cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/fs-poll.c -o src/fs-poll.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/uv-common.c -o src/uv-common.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/inet.c -o src/inet.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/linux/linux-core.c -o src/unix/linux/linux-core.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/linux/inotify.c -o src/unix/linux/inotify.o cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE -Iinclude -Iinclude/uv-private -Isrc -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -c src/unix/linux/syscalls.c -o src/unix/linux/syscalls.o ar rcs libuv.a src/unix/async.o src/unix/core.o src/unix/dl.o src/unix/error.o src/unix/fs.o src/unix/getaddrinfo.o src/unix/loop.o src/unix/loop-watcher.o src/unix/pipe.o src/unix/poll.o src/unix/process.o src/unix/signal.o src/unix/stream.o src/unix/tcp.o src/unix/thread.o src/unix/threadpool.o src/unix/timer.o src/unix/tty.o src/unix/udp.o src/unix/ev/ev.o src/fs-poll.o src/uv-common.o src/inet.o src/unix/linux/linux-core.o src/unix/linux/inotify.o src/unix/linux/syscalls.o make[2]: Leaving directory/home/hnakamur/ray/src/uv' cc -c -Wall -O2 -fPIC -I/usr/local/include/luajit-2.0 -I./uv/include -L./uv ray_lib.c ray_hash.c ray_list.c ray_cond.c ray_queue.c ray_state.c ray_hash.c: In function ‘ray_hash_rehash’: ray_hash.c:150:19: warning: variable ‘count’ set but not used [-Wunused-but-set-variable] cc ray_lib.o ray_hash.o ray_list.o ray_cond.o ray_queue.o ray_state.o ./uv/libuv.a ray_fiber.c -o ../ray/fiber.so -luv -lm -ldl -lpthread -shared -lrt /usr/bin/ld: /tmp/cca1SC0n.o: relocation R_X86_64_32 against
.rodata' can not be used when making a shared object; recompile with -fPIC /tmp/cca1SC0n.o: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: * [../ray/fiber.so] Error 1 make[1]: Leaving directory `/home/hnakamur/ray/src' make: * [all] Error 2The error message says "recompile with -fPIC", but I notice uv and ray sources are compiled with -fPIC. I ran grep for rodata, but they are in only object files.
$ grep -r rodata . Binary file ./src/uv/src/uv-common.o matches Binary file ./src/uv/src/fs-poll.o matches Binary file ./src/uv/src/unix/fs.o matches Binary file ./src/uv/src/unix/error.o matches Binary file ./src/uv/src/unix/getaddrinfo.o matches Binary file ./src/uv/src/unix/timer.o matches Binary file ./src/uv/src/unix/threadpool.o matches Binary file ./src/uv/src/unix/ev/ev.o matches Binary file ./src/uv/src/unix/tcp.o matches Binary file ./src/uv/src/unix/stream.o matches Binary file ./src/uv/src/unix/tty.o matches Binary file ./src/uv/src/unix/poll.o matches Binary file ./src/uv/src/unix/loop-watcher.o matches Binary file ./src/uv/src/unix/thread.o matches Binary file ./src/uv/src/unix/pipe.o matches Binary file ./src/uv/src/unix/process.o matches Binary file ./src/uv/src/unix/linux/inotify.o matches Binary file ./src/uv/src/unix/linux/linux-core.o matches Binary file ./src/uv/src/unix/core.o matches Binary file ./src/uv/src/unix/async.o matches Binary file ./src/uv/src/unix/udp.o matches Binary file ./src/uv/src/unix/dl.o matches Binary file ./src/uv/src/unix/loop.o matches Binary file ./src/uv/src/unix/signal.o matches Binary file ./src/uv/src/inet.o matches Binary file ./src/uv/libuv.a matches Binary file ./src/ray_cond.o matches Binary file ./src/ray_list.o matches Binary file ./src/ray_state.o matches Binary file ./src/ray_lib.o matches Binary file ./src/ray_hash.o matches Can you tell me how to build ray?
— Reply to this email directly or view it on GitHub https://github.com/richardhundt/luv/issues/27.
I see. Thanks for your explanation.
I've installed LuaJIT-2.0.0 on Ubuntu 12.04 x86_64. I got an error when running make on the ray branch (commit 597cd0f4c283f25c7ea6acf010cb7bf03f765b2d)
The error message says "recompile with -fPIC", but I notice uv and ray sources are compiled with -fPIC. I ran grep for rodata, but they are in only object files.
Can you tell me how to build ray?