xiaoliuzi/learn_demo

libuv库源代码,编译到make check 报错

Open

#14 opened on Nov 27, 2015

View on GitHub
 (5 comments) (0 reactions) (0 assignees)C (1 fork)github user discovery
help wantedquestionsolved

Repository metrics

Stars
 (1 star)
PR merge metrics
 (PR metrics pending)

Description

@starwing

从github编译libuv库,执行到make check 出错,但是,执行make install却没有问题。

1、下载libuv库源码

https://github.com/libuv/libuv

2、根据以下步骤执行编译

$ sh autogen.sh
$ ./configure
$ make
$ make check
$ make install

在执行到make check时,报以下错误,以上命令全部以sudo执行,但执行make install 却没有问题。

=============================================================
[%  61|+ 168|-   0|T   0|S   0]: getaddrinfo_fail
`getaddrinfo_fail` failed: exit code 134
Output from process `getaddrinfo_fail`:
Assertion failed in test/test-getaddrinfo.c on line 43: status < 0
=============================================================
[%  61|+ 168|-   1|T   0|S   0]: getaddrinfo_fail_sync
`getaddrinfo_fail_sync` failed: exit code 134
Output from process `getaddrinfo_fail_sync`:
Assertion failed in test/test-getaddrinfo.c on line 108: 0 > uv_getaddrinfo(uv_default_loop(), &req, NULL, "xyzzy.xyzzy.xyzzy", NULL, NULL)
=============================================================
[%  86|+ 236|-   2|T   0|S   0]: fs_event_watch_dir_recursive
`fs_event_watch_dir_recursive` skipped
Output from process `fs_event_watch_dir_recursive`:
Recursive directory watching not supported on this platform.
=============================================================
[% 100|+ 272|-   2|T   0|S   1]: Done.
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================
make[1]: *** [check-TESTS] Error 1
make[1]: Leaving directory `/home/xlz/test/libuv/libuv-v1.7.5'
make: *** [check-am] Error 2
xlz@ubuntu:~/test/libuv/libuv-v1.7.5$

但是通过gcc命令,编译libuv库中的test目录下的echo-server.c文件时,报错如下

(.text+0x20): undefined reference to `main'
/tmp/cc68lqyM.o: In function `close_walk_cb':
echo-server.c:(.text+0x18): undefined reference to `uv_is_closing'
echo-server.c:(.text+0x2d): undefined reference to `uv_close'
/tmp/cc68lqyM.o: In function `close_loop':
echo-server.c:(.text+0x51): undefined reference to `uv_walk'
echo-server.c:(.text+0x62): undefined reference to `uv_run'
/tmp/cc68lqyM.o: In function `can_ipv6':
echo-server.c:(.text+0x7f): undefined reference to `uv_interface_addresses'
echo-server.c:(.text+0xe9): undefined reference to `uv_free_interface_addresses'
/tmp/cc68lqyM.o: In function `after_write':
echo-server.c:(.text+0x137): undefined reference to `uv_strerror'
echo-server.c:(.text+0x144): undefined reference to `uv_err_name'
/tmp/cc68lqyM.o: In function `after_shutdown':
echo-server.c:(.text+0x18e): undefined reference to `uv_close'
/tmp/cc68lqyM.o: In function `after_read':
echo-server.c:(.text+0x229): undefined reference to `uv_shutdown'
echo-server.c:(.text+0x2f4): undefined reference to `uv_close'
echo-server.c:(.text+0x30d): undefined reference to `uv_close'
echo-server.c:(.text+0x388): undefined reference to `uv_buf_init'

Contributor guide