Hello,
I am trying to build libuv in the context of iot.js on my MacOS (this means
crosscompile from x64_64 to ARM). But I am a bit confused how headers and
Makefiles select the right target platform. Maybe some of you can help me
understand what I need to do/learn.
So, in iotj.s there is a script tools/build.py which add libuv as git
submodule. Then Cmake files are setup. And everything is built. I have
added already some missing defines by hand, but still when I know try to
build I get this error:
-- Build files have been written to:
/Users/pmu/projects/iotjs/build/x86_64-darwin/debug/deps/libtuv
make -j
Scanning dependencies of target tuv
[ 3%] Building C object
CMakeFiles/tuv.dir/source/unix/uv_unix_threadpool.c.o
[ 6%] Building C object CMakeFiles/tuv.dir/source/unix/uv_unix_stream.c.o
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_threadpool.c:146:11:
error: expected expression
_once = UV_ONCE_INIT;
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_threadpool.c:43:22:
note: expanded from macro 'UV_ONCE_INIT'
#define UV_ONCE_INIT PTHREAD_ONCE_INIT
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/pthread.h:204:27:
note:
expanded from macro 'PTHREAD_ONCE_INIT'
#define PTHREAD_ONCE_INIT {_PTHREAD_ONCE_SIG_init, {0}}
^
1 error generated.
make[2]: *** [CMakeFiles/tuv.dir/source/unix/uv_unix_threadpool.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1227:15:
error: no member named 'select' in 'struct uv_stream_s'
if (handle->select != NULL) {
~~~~~~ ^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1228:5:
error: use of undeclared identifier 'uv__stream_select_t'; did
you mean 'uv__stream_connect'?
uv__stream_select_t* s;
^~~~~~~~~~~~~~~~~~~
uv__stream_connect
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:972:13:
note: 'uv__stream_connect' declared here
static void uv__stream_connect(uv_stream_t* stream) {
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1228:26:
error: use of undeclared identifier 's'
uv__stream_select_t* s;
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1230:5:
error: use of undeclared identifier 's'
s = handle->select;
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1230:17:
error: no member named 'select' in 'struct uv_stream_s'
s = handle->select;
~~~~~~ ^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1232:18:
error: use of undeclared identifier 's'
uv_sem_post(&s->close_sem);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1233:18:
error: use of undeclared identifier 's'
uv_sem_post(&s->async_sem);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1234:21:
error: use of undeclared identifier 's'
uv_thread_join(&s->thread);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1235:21:
error: use of undeclared identifier 's'
uv_sem_destroy(&s->close_sem);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1236:21:
error: use of undeclared identifier 's'
uv_sem_destroy(&s->async_sem);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1237:15:
error: use of undeclared identifier 's'
uv__close(s->fake_fd);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1238:15:
error: use of undeclared identifier 's'
uv__close(s->int_fd);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1239:30:
error: use of undeclared identifier 's'
uv_close((uv_handle_t*) &s->async, uv__stream_osx_cb_close);
^
/Users/pmu/projects/iotjs/deps/libtuv/source/unix/uv_unix_stream.c:1241:13:
error: no member named 'select' in 'struct uv_stream_s'
handle->select = NULL;
~~~~~~ ^
14 errors generated.
make[2]: *** [CMakeFiles/tuv.dir/source/unix/uv_unix_stream.c.o] Error 1
make[1]: *** [CMakeFiles/tuv.dir/all] Error 2
make: *** [all] Error 2
[Failed - 2] make -j
--
You received this message because you are subscribed to the Google Groups
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.