cotag / libcouchbase

libcouchbase ruby FFI with libuv integration
Other
11 stars 8 forks source link

libuv error #17

Open fijemax opened 6 years ago

fijemax commented 6 years ago

When I try gem install libcouchbase on a clean system I got the foloowing error :

[ 90%] Linking CXX executable ../bin/cbc
Linking cbc -> cbc-cat
Linking cbc -> cbc-create
Linking cbc -> cbc-observe
Linking cbc -> cbc-observe-seqno
Linking cbc -> cbc-incr
Linking cbc -> cbc-decr
Linking cbc -> cbc-mcflush
Linking cbc -> cbc-hash
Linking cbc -> cbc-lock
Linking cbc -> cbc-unlock
Linking cbc -> cbc-rm
Linking cbc -> cbc-stats
Linking cbc -> cbc-version
Linking cbc -> cbc-verbosity
Linking cbc -> cbc-view
Linking cbc -> cbc-n1ql
Linking cbc -> cbc-admin
Linking cbc -> cbc-ping
Linking cbc -> cbc-bucket-create
Linking cbc -> cbc-bucket-delete
Linking cbc -> cbc-bucket-flush
Linking cbc -> cbc-connstr
Linking cbc -> cbc-write-config
Linking cbc -> cbc-strerror
Linking cbc -> cbc-touch
Linking cbc -> cbc-role-list
Linking cbc -> cbc-user-list
Linking cbc -> cbc-user-upsert
Linking cbc -> cbc-user-delete
Linking cbc -> cbc-watch
[ 90%] Built target cbc
Scanning dependencies of target cbc-pillowfight
[ 92%] Building CXX object tools/CMakeFiles/cbc-pillowfight.dir/cbc-pillowfight.cc.o
[ 92%] Linking CXX executable ../bin/cbc-pillowfight
[ 92%] Built target cbc-pillowfight
Scanning dependencies of target linenoise
[ 92%] Building C object tools/CMakeFiles/linenoise.dir/linenoise/linenoise.c.o
[ 92%] Built target linenoise
Scanning dependencies of target cbc-n1qlback
[ 94%] Building CXX object tools/CMakeFiles/cbc-n1qlback.dir/cbc-n1qlback.cc.o
[ 94%] Linking CXX executable ../bin/cbc-n1qlback
[ 94%] Built target cbc-n1qlback
Scanning dependencies of target cbc-subdoc
[ 94%] Building CXX object tools/CMakeFiles/cbc-subdoc.dir/cbc-subdoc.cc.o
[ 96%] Linking CXX executable ../bin/cbc-subdoc
[ 96%] Built target cbc-subdoc
Scanning dependencies of target couchbase_libuv
[ 96%] Building C object plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/plugin-libuv.c.o
In file included from /home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/plugin-internal.h:34:0,
                 from /home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c:18:
/home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/libuv_compat.h: In function ‘uv_uv2syserr’:
/home/maxime/.gem/gems/libuv-4.0.3/ext/libuv/include/uv.h:145:6: error: ‘EFTYPE’ undeclared (first use in this function); did you mean
‘UV_EFTYPE’?
   XX(EFTYPE, "inappropriate file type or format")                             \
      ^
/home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/libuv_compat.h:199:63: note: in definition of macro ‘X’
       #define X(name, desc) if (status == UV_##name) { return name; }
                                                               ^~~~
/home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/libuv_compat.h:200:7: note: in expansion of macro
‘UV_ERRNO_MAP’
       UV_ERRNO_MAP(X)
       ^~~~~~~~~~~~
/home/maxime/.gem/gems/libuv-4.0.3/ext/libuv/include/uv.h:145:6: note: each undeclared identifier is reported only once for each
function it appears in
   XX(EFTYPE, "inappropriate file type or format")                             \
      ^
/home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/libuv_compat.h:199:63: note: in definition of macro ‘X’
       #define X(name, desc) if (status == UV_##name) { return name; }
                                                               ^~~~
/home/maxime/.gem/gems/libcouchbase-1.3.0/ext/libcouchbase/plugins/io/libuv/libuv_compat.h:200:7: note: in expansion of macro
‘UV_ERRNO_MAP’
       UV_ERRNO_MAP(X)
       ^~~~~~~~~~~~
plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/build.make:62: recipe for target
'plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/plugin-libuv.c.o' failed
make[2]: *** [plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/plugin-libuv.c.o] Error 1
CMakeFiles/Makefile2:1931: recipe for target 'plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/all' failed
make[1]: *** [plugins/io/libuv/CMakeFiles/couchbase_libuv.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2
rake aborted!
make failed
/home/maxime/.gem/gems/libcouchbase-1.3.0/lib/libcouchbase/ext/tasks.rb:38:in `block in <top (required)>'
/home/maxime/.gem/gems/rake-12.3.1/exe/rake:27:in `<main>'
Tasks: TOP => default => libcouchbase => ext/libcouchbase/build/lib/libcouchbase_libuv.so
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in /home/maxime/.gem/gems/libcouchbase-1.3.0 for inspection.
Results logged to /home/maxime/.gem/extensions/x86_64-linux/2.3.0-static/libcouchbase-1.3.0/gem_make.out

An error occurred while installing libcouchbase (1.3.0), and Bundler cannot continue.
Make sure that `gem install libcouchbase -v '1.3.0' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  couchbase-orm was resolved to 1.1.0, which depends on
    libcouchbase
stakach commented 6 years ago

I’ll check it out. I was having issues with Libuv 4.0.3 too I’ve released 4.0.4 which might resolve the issue.

Otherwise 4.0.2 definitely works and I’ll take a look on a clean system. It’s weird though as we have automated docker builds that built fine with Libuv 4.0.3 and 4.0.4

fijemax commented 6 years ago

Ok thank you, It seem ok by forcing Libuv 4.0.2, But 4.0.3 and 4.0.4 have same issue on my system.