It's hard to say, since it depends on the details of your build system, but it looks like the code you're trying to build is missing some #include statements -- probably some combination of #include <unistd.h>, #include <socket.h>, #include <fcntl.h>. You might also have to define _GNU_SOURCE to get access to pipe2, via -D_GNU_SOURCE on the command line or #define _GNU_SOURCE in the source code.
There are a lot of finicky things that could be causing this to trigger on the manylinux docker image specifically -- maybe your configure script is misbehaving, or maybe on your regular build system there's some coincidence where one of the files that you do #include accidentally pulls in one of these necessary files and thus hides the latent bug, or... -n On Fri, Jul 8, 2016 at 4:31 PM, Vitaly Kruglikov <[email protected]> wrote: > I am using the docker image quay.io/pypa/manylinux1_x86_64 and am running > into the compilation issues below, resulting from missing SOCK_NONBLOCK, > SOCK_CLOEXEC, pipe2, etc., in this CentOS5-based docker image. What is a > reasonable solution? > > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++: > In member function ‘int kj::{anonymous}::SocketAddress::socket(int) const’: > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++:348:13: > error: ‘SOCK_NONBLOCK’ was not declared in this scope > type |= SOCK_NONBLOCK | SOCK_CLOEXEC; > ^ > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++:348:29: > error: ‘SOCK_CLOEXEC’ was not declared in this scope > type |= SOCK_NONBLOCK | SOCK_CLOEXEC; > ^ > In file included from > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++:24:0: > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++: > In lambda function: > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++:648:38: > error: ‘O_CLOEXEC’ was not declared in this scope > KJ_SYSCALL(pipe2(fds, O_NONBLOCK | O_CLOEXEC)); > ^ > /nupic.core/build/scripts/ThirdParty/Source/CapnProto/src/kj/async-io.c++:648:47: > error: ‘pipe2’ was not declared in this scope > KJ_SYSCALL(pipe2(fds, O_NONBLOCK | O_CLOEXEC)); > > > Many thanks, > Vitaly > > > > > _______________________________________________ > Wheel-builders mailing list > [email protected] > https://mail.python.org/mailman/listinfo/wheel-builders > -- Nathaniel J. Smith -- https://vorpus.org _______________________________________________ Wheel-builders mailing list [email protected] https://mail.python.org/mailman/listinfo/wheel-builders
