$ make libh2o
[ 4%] Building C object CMakeFiles/libh2o.dir/deps/picohttpparser/picohttpparser.c.o
[ 8%] Building C object CMakeFiles/libh2o.dir/lib/access_log.c.o
/home/kim/compile/h2o/lib/access_log.c: In function ‘log_access’:
/home/kim/compile/h2o/lib/access_log.c:324:5: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(self->fd, line, pos - line);
^
[ 13%] Building C object CMakeFiles/libh2o.dir/lib/chunked.c.o
[ 17%] Building C object CMakeFiles/libh2o.dir/lib/context.c.o
[ 21%] Building C object CMakeFiles/libh2o.dir/lib/configurator.c.o
[ 26%] Building C object CMakeFiles/libh2o.dir/lib/configurator/access_log.c.o
[ 26%] Building C object CMakeFiles/libh2o.dir/lib/configurator/file.c.o
[ 30%] Building C object CMakeFiles/libh2o.dir/lib/configurator/proxy.c.o
[ 34%] Building C object CMakeFiles/libh2o.dir/lib/file.c.o
[ 39%] Building C object CMakeFiles/libh2o.dir/lib/headers.c.o
[ 43%] Building C object CMakeFiles/libh2o.dir/lib/http1.c.o
[ 47%] Building C object CMakeFiles/libh2o.dir/lib/http1client.c.o
[ 47%] Building C object CMakeFiles/libh2o.dir/lib/http2/connection.c.o
[ 52%] Building C object CMakeFiles/libh2o.dir/lib/http2/frame.c.o
[ 56%] Building C object CMakeFiles/libh2o.dir/lib/http2/hpack.c.o
[ 60%] Building C object CMakeFiles/libh2o.dir/lib/http2/stream.c.o
[ 65%] Building C object CMakeFiles/libh2o.dir/lib/memory.c.o
[ 69%] Building C object CMakeFiles/libh2o.dir/lib/mimemap.c.o
[ 73%] Building C object CMakeFiles/libh2o.dir/lib/proxy.c.o
[ 73%] Building C object CMakeFiles/libh2o.dir/lib/request.c.o
[ 78%] Building C object CMakeFiles/libh2o.dir/lib/rproxy.c.o
[ 82%] Building C object CMakeFiles/libh2o.dir/lib/socket.c.o
In file included from /home/kim/compile/h2o/lib/socket.c:73:0:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h: In function ‘do_read_start’:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:103:40: warning: passing argument 2 of ‘uv_read_start’ from incompatible pointer type
uv_read_start(sock->uv.stream, alloc_inbuf_tcp, on_read_tcp);
^
In file included from /home/kim/compile/h2o/include/h2o/socket/uv-binding.h:25:0,
from /home/kim/compile/h2o/include/h2o/socket.h:60,
from /home/kim/compile/h2o/lib/socket.c:28:
/usr/include/uv.h:599:15: note: expected ‘uv_alloc_cb’ but argument is of type ‘void (*)(struct uv_handle_t *, size_t, struct uv_buf_t *)’
UV_EXTERN int uv_read_start(uv_stream_t*, uv_alloc_cb alloc_cb,
^
In file included from /home/kim/compile/h2o/lib/socket.c:73:0:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:103:57: warning: passing argument 3 of ‘uv_read_start’ from incompatible pointer type
uv_read_start(sock->uv.stream, alloc_inbuf_tcp, on_read_tcp);
^
In file included from /home/kim/compile/h2o/include/h2o/socket/uv-binding.h:25:0,
from /home/kim/compile/h2o/include/h2o/socket.h:60,
from /home/kim/compile/h2o/lib/socket.c:28:
/usr/include/uv.h:599:15: note: expected ‘uv_read_cb’ but argument is of type ‘void (*)(struct uv_stream_t *, ssize_t, const struct uv_buf_t *)’
UV_EXTERN int uv_read_start(uv_stream_t*, uv_alloc_cb alloc_cb,
^
In file included from /home/kim/compile/h2o/lib/socket.c:73:0:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:105:40: warning: passing argument 2 of ‘uv_read_start’ from incompatible pointer type
uv_read_start(sock->uv.stream, alloc_inbuf_ssl, on_read_ssl);
^
In file included from /home/kim/compile/h2o/include/h2o/socket/uv-binding.h:25:0,
from /home/kim/compile/h2o/include/h2o/socket.h:60,
from /home/kim/compile/h2o/lib/socket.c:28:
/usr/include/uv.h:599:15: note: expected ‘uv_alloc_cb’ but argument is of type ‘void (*)(struct uv_handle_t *, size_t, struct uv_buf_t *)’
UV_EXTERN int uv_read_start(uv_stream_t*, uv_alloc_cb alloc_cb,
^
In file included from /home/kim/compile/h2o/lib/socket.c:73:0:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:105:57: warning: passing argument 3 of ‘uv_read_start’ from incompatible pointer type
uv_read_start(sock->uv.stream, alloc_inbuf_ssl, on_read_ssl);
^
In file included from /home/kim/compile/h2o/include/h2o/socket/uv-binding.h:25:0,
from /home/kim/compile/h2o/include/h2o/socket.h:60,
from /home/kim/compile/h2o/lib/socket.c:28:
/usr/include/uv.h:599:15: note: expected ‘uv_read_cb’ but argument is of type ‘void (*)(struct uv_stream_t *, ssize_t, const struct uv_buf_t *)’
UV_EXTERN int uv_read_start(uv_stream_t*, uv_alloc_cb alloc_cb,
^
In file included from /home/kim/compile/h2o/lib/socket.c:73:0:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h: In function ‘do_export’:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:138:5: error: unknown type name ‘uv_os_fd_t’
uv_os_fd_t fd;
^
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:140:5: warning: implicit declaration of function ‘uv_fileno’ [-Wimplicit-function-declaration]
if (uv_fileno((uv_handle_t*)sock->uv.stream, &fd) != 0)
^
/home/kim/compile/h2o/lib/socket/uv-binding.c.h: In function ‘h2o_socket_connect’:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:211:9: error: incompatible type for argument 3 of ‘uv_tcp_connect’
if (uv_tcp_connect(&sock->_creq, (void*)sock->uv.stream, addr, on_connect) != 0) {
^
In file included from /home/kim/compile/h2o/include/h2o/socket/uv-binding.h:25:0,
from /home/kim/compile/h2o/include/h2o/socket.h:60,
from /home/kim/compile/h2o/lib/socket.c:28:
/usr/include/uv.h:726:15: note: expected ‘struct sockaddr_in’ but argument is of type ‘struct sockaddr *’
UV_EXTERN int uv_tcp_connect(uv_connect_t* req, uv_tcp_t* handle,
^
In file included from /home/kim/compile/h2o/lib/socket.c:73:0:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h: In function ‘schedule_timer’:
/home/kim/compile/h2o/lib/socket/uv-binding.c.h:231:46: warning: passing argument 2 of ‘uv_timer_start’ from incompatible pointer type
uv_timer_start(&timeout->_backend.timer, on_timeout, entry->registered_at + timeout->timeout - h2o_now(timeout->_backend.timer.loop), 0);
^
In file included from /home/kim/compile/h2o/include/h2o/socket/uv-binding.h:25:0,
from /home/kim/compile/h2o/include/h2o/socket.h:60,
from /home/kim/compile/h2o/lib/socket.c:28:
/usr/include/uv.h:1223:15: note: expected ‘uv_timer_cb’ but argument is of type ‘void (*)(struct uv_timer_t *)’
UV_EXTERN int uv_timer_start(uv_timer_t* handle,
^
CMakeFiles/libh2o.dir/build.make:537: recipe for target 'CMakeFiles/libh2o.dir/lib/socket.c.o' failed
make[3]: *** [CMakeFiles/libh2o.dir/lib/socket.c.o] Error 1
CMakeFiles/Makefile2:252: recipe for target 'CMakeFiles/libh2o.dir/all' failed
make[2]: *** [CMakeFiles/libh2o.dir/all] Error 2
CMakeFiles/Makefile2:260: recipe for target 'CMakeFiles/libh2o.dir/rule' failed
make[1]: *** [CMakeFiles/libh2o.dir/rule] Error 2
Makefile:184: recipe for target 'libh2o' failed
make: *** [libh2o] Error 2
$ whereis uv.h
uv: /usr/include/uv.h
$ ls /usr/lib/x86_64-linux-gnu/libuv.so*
/usr/lib/x86_64-linux-gnu/libuv.so /usr/lib/x86_64-linux-gnu/libuv.so.0.10
$ uname -a
Linux Dynabook 3.16.0-28-generic #38-Ubuntu SMP Fri Dec 12 17:37:40 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
This error is confusing because you can't tell if h2o is broken or installed library is not supported.
I think you should check the library version.