在构建guile时,我收到以下错误。错误与版本version 2.2.2,版本2.2.0和version 2.0.14
有关fports.c: In function 'fport_input_waiting':
fports.c:626:10: error: variable 'pollfd' has initializer but incomplete type
struct pollfd pollfd = { fdes, POLLIN, 0 };
fports.c:626:34: error: 'POLLIN' undeclared (first use in this function)
struct pollfd pollfd = { fdes, POLLIN, 0 };
fports.c:626:17: error: storage size of 'pollfd' isn't known
struct pollfd pollfd = { fdes, POLLIN, 0 };
我使用以下步骤构建包:
$ wget "$DOWNLOAD_URL"
$ tar xzf guile-{$VERSION}.tar.gz
$ cd guile-${VERSION}
$ ./configure --prefix=$HOME/.local --disable-static --disable-networking
$ make -j 12
[更新> 我已将libunistring-0.9.7
和gc-7.6.0
安装到$HOME/.local
,因此我使用了以下./configure
命令,但没有更好结果
$ ./configure --prefix=$HOME/.local \
--with-libunistring-prefix=$HOME/.local \
--with-sysroot=$HOME/.local \
--with-libgmp-prefix=$HOME/.local \
--with-threads ## updated configure command
config.log
说
451 configure:8023: checking for poll.h
452 configure:8023: gcc -c -g -O2 conftest.c >&5
453 configure:8023: $? = 0
454 configure:8023: result: yes
更深入一点,我看到所需的文件poll.h
似乎
在lib/poll.h
但我在poll.h
中也有一个/usr/include/poll.h
重定向到/usr/include/x86_64-linux-gnu/sys/poll.h
还有libguile/poll.h
重定向到libguile/__scm.h
这里是__scm.h
,没有struct pollfd
配置包时似乎有问题。
我正在使用Ubuntu服务器。系统管理员路线可能需要一个 比往常多一点。所以我更喜欢建立和安装本地 封装
我正在尝试使用gcc-4.8
有谁知道如何编译?
答案 0 :(得分:0)
我在 centos 7 上遇到了同样的问题。
我将 #include <sys/poll.h>
添加到有问题的源文件 fports.c
中。
那么,./configure CFLAGS="-std=gnu11"