This is an excerpt from the build error for guile, at the step `make -j12'
--- START ------------------ make all-am make[3]: Entering directory `/data/gpu/raghav/src/guile-2.0.14/libguile' CC libguile_2.0_la-alist.lo CC libguile_2.0_la-arbiters.lo CC libguile_2.0_la-array-handle.lo CC libguile_2.0_la-array-map.lo CC libguile_2.0_la-arrays.lo CC libguile_2.0_la-async.lo CC libguile_2.0_la-boolean.lo CC libguile_2.0_la-backtrace.lo CC libguile_2.0_la-bitvectors.lo CC libguile_2.0_la-bytevectors.lo CC libguile_2.0_la-chars.lo CC libguile_2.0_la-control.lo CC libguile_2.0_la-debug.lo CC libguile_2.0_la-deprecated.lo CC libguile_2.0_la-continuations.lo CC libguile_2.0_la-deprecation.lo CC libguile_2.0_la-dynwind.lo CC libguile_2.0_la-eq.lo CC libguile_2.0_la-eval.lo CC libguile_2.0_la-error.lo CC libguile_2.0_la-evalext.lo CC libguile_2.0_la-extensions.lo CC libguile_2.0_la-expand.lo CC libguile_2.0_la-feature.lo CC libguile_2.0_la-filesys.lo CC libguile_2.0_la-finalizers.lo CC libguile_2.0_la-fluids.lo CC libguile_2.0_la-foreign.lo CC libguile_2.0_la-fports.lo CC libguile_2.0_la-frames.lo CC libguile_2.0_la-gc-malloc.lo CC libguile_2.0_la-gc.lo CC libguile_2.0_la-gdbint.lo 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:10: warning: excess elements in struct initializer [enabled by default] fports.c:626:10: warning: (near initialization for 'pollfd') [enabled by default] fports.c:626:34: error: 'POLLIN' undeclared (first use in this function) struct pollfd pollfd = { fdes, POLLIN, 0 }; ^ fports.c:626:34: note: each undeclared identifier is reported only once for each function it appears in fports.c:626:10: warning: excess elements in struct initializer [enabled by default] struct pollfd pollfd = { fdes, POLLIN, 0 }; ^ fports.c:626:10: warning: (near initialization for 'pollfd') [enabled by default] fports.c:626:10: warning: excess elements in struct initializer [enabled by default] fports.c:626:10: warning: (near initialization for 'pollfd') [enabled by default] fports.c:626:17: error: storage size of 'pollfd' isn't known struct pollfd pollfd = { fdes, POLLIN, 0 }; ^ fports.c:628:3: warning: implicit declaration of function 'poll' [-Wimplicit-function-declaration] if (poll (&pollfd, 1, 0) < 0) ^ fports.c:626:17: warning: unused variable 'pollfd' [-Wunused-variable] struct pollfd pollfd = { fdes, POLLIN, 0 }; ^ CC libguile_2.0_la-gettext.lo fports.c:632:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[3]: *** [libguile_2.0_la-fports.lo] Error 1 --- END -------------------- Looking a little deep, I see that the required file "poll.h" seems to be defined in "lib/poll.h" But I also have a "poll.h" in the "/usr/include/poll.h" which redirects to "/usr/include/x86_64-linux-gnu/sys/poll.h" There is also "libguile/poll.h" which redirects to "libguile/__scm.h" And here is "__scm.h" there is no definition of "struct pollfd" There seems to be something wrong while configuring the package. I am using linux Ubuntu server. And the sysadmin route may take a little more than usual. So I prefer building and installing a local package. I am trying to compile with gcc-4.8. Configure command: ./configure --prefix=$HOME/.local --disable-static --disable-networking Does it ring a bell -- (B.V. Raghav)