0

I am trying to install Guile-2.2.2 locally on a cluster. I installed (locally) all the prerequisites for guile as mentioned in the README file. When I run configure using the command below, I do not get any errors.

./configure --prefix=/home/acusers/pbalaji/install/guile_new --with-libltdl-prefix=/home/acusers/pbalaji/install/libtool-2.4 --with-libunistring-prefix=/home/acusers/pbalaji/install/libunistring-0.9.10 CFLAGS="-I/home/acusers/pbalaji/install/libtool-2.4/include -I/home/acusers/pbalaji/install/libunistring-0.9.10/include -I/home/acusers/pbalaji/install/libiconv-1.15/include" LDFLAGS="-L/home/acusers/pbalaji/install/libtool-2.4/lib -L/home/acusers/pbalaji/install/libunistring-0.9.10/lib -L/home/acusers/pbalaji/install/libiconv-1.15/lib" LIBFFI_LIBS="-L/home/acusers/pbalaji/install/libffi_new/lib64" LIBFFI_CFLAGS="-I/home/acusers/pbalaji/install/libffi_new/lib/libffi-3.2.1/include/" BDW_GC_CFLAGS="-I/home/acusers/pbalaji/install/bdw_gc/include" BDW_GC_LIBS="-L/home/acusers/pbalaji/install/bdw_gc/lib" --with-libiconv-prefix=/home/acusers/pbalaji/install/libiconv-1.15 --with-libgmp-prefix=/home/acusers/pbalaji/install/gmp-6.1.2/

When I try to run make, the compilation stops with the following error:

CC       libguile_2.2_la-foreign-object.lo
CC       libguile_2.2_la-fports.lo
fports.c: In function 'fport_input_waiting':
fports.c:455:10: error: variable 'pollfd' has initializer but incomplete    type 
struct pollfd pollfd = { fdes, POLLIN, 0 };
      ^
fports.c:455:28: warning: excess elements in struct initializer
struct pollfd pollfd = { fdes, POLLIN, 0 };
                        ^
fports.c:455:28: note: (near initialization for 'pollfd')
fports.c:455:34: error: 'POLLIN' undeclared (first use in this function)
struct pollfd pollfd = { fdes, POLLIN, 0 };
                              ^
fports.c:455:34: note: each undeclared identifier is reported only once     for each function it appears in
fports.c:455:34: warning: excess elements in struct initializer
fports.c:455:34: note: (near initialization for 'pollfd')
fports.c:455:42: warning: excess elements in struct initializer
struct pollfd pollfd = { fdes, POLLIN, 0 };
                                      ^
fports.c:455:42: note: (near initialization for 'pollfd')
fports.c:455:17: error: storage size of 'pollfd' isn't known
struct pollfd pollfd = { fdes, POLLIN, 0 };
             ^
fports.c:457:7: warning: implicit declaration of function 'poll'  [-Wimplicit-function-declaration]
if (poll (&pollfd, 1, 0) < 0)
   ^
fports.c:455:17: warning: unused variable 'pollfd' [-Wunused-variable]
struct pollfd pollfd = { fdes, POLLIN, 0 };
             ^
fports.c:461:1: warning: control reaches end of non-void function [-Wreturn-type]}
make[3]: *** [libguile_2.2_la-fports.lo] Error 1
make[3]: Leaving directory `/home/acusers/pbalaji/install/guile-    2.2.2/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/acusers/pbalaji/install/guile-2.2.2/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/acusers/pbalaji/install/guile-2.2.2'
make: *** [all] Error 2

I am using gcc-5.5.0 compiler and the all latest version of the prerequisites.

Kindly suggest a way to overcome this issue.

Thanks.

1 Answers1

0

In libguile/fports.c it probably can't find poll.h I found references on internet that indicate sys/poll.h should be used in stead on some platforms, try change the source file and see if this receipt work please file a bug report for guile if that solves your problem

Stefan
  • 271
  • 1
  • 4