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

Reply via email to