openucx / ucx

Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group)
http://www.openucx.org
Other
1.14k stars 424 forks source link

UCX trunk fails to compile with stock gcc-4.8.4 on Ubuntu 14.04 on ppc64le #4592

Open cparrott73 opened 4 years ago

cparrott73 commented 4 years ago

Describe the bug

I get a compilation failure with the stock gcc-4.8.4 included with the Ubuntu 14.04 distribution on ppc64le. My own gcc-5.5.0 build on the same system works fine. Not sure if this is a UCX issue, or an issue with gcc-4.8.4. It is not a problem for us to use gcc-5.5.0 instead, but I am just noting the issue here as FYI.

Here is the error:

/bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -DCPU_FLAGS="" -I/tmp/crp2/ucx/src -I/tmp/crp2/ucx -I/tmp/crp2/ucx/src -DUCX_MODULE_DIR=\"/tmp/ucx/lib/ucx\"  -O1 -g -Wall -Werror  -MT sys/libucs_la-sock.lo -MD -MP -MF sys/.deps/libucs_la-sock.Tpo -c -o sys/libucs_la-sock.lo `test -f 'sys/sock.c' || echo './'`sys/sock.c
libtool: compile:  gcc -DHAVE_CONFIG_H -DCPU_FLAGS= -I/tmp/crp2/ucx/src -I/tmp/crp2/ucx -I/tmp/crp2/ucx/src -DUCX_MODULE_DIR=\"/tmp/ucx/lib/ucx\" -O1 -g -Wall -Werror -MT sys/libucs_la-sock.lo -MD -MP -MF sys/.deps/libucs_la-sock.Tpo -c sys/sock.c  -fPIC -DPIC -o sys/.libs/libucs_la-sock.o
In file included from /usr/include/powerpc64le-linux-gnu/sys/socket.h:280:0,
                 from /tmp/crp2/ucx/src/ucs/config/types.h:11,
                 from /tmp/crp2/ucx/src/ucs/config/global_opts.h:10,
                 from /tmp/crp2/ucx/src/ucs/debug/log.h:16,
                 from sys/sock.c:8:
sys/sock.c: In function 'ucs_socket_recv_nb':
/usr/include/powerpc64le-linux-gnu/bits/socket2.h:34:1: error: inlining failed in call to always_inline 'recv': indirect function call with a yet undetermined callee
 recv (int __fd, void *__buf, size_t __n, int __flags)
 ^
sys/sock.c:256:9: error: called from here
     ret = io_func(fd, data, *length_p, MSG_NOSIGNAL);
         ^
In file included from /usr/include/powerpc64le-linux-gnu/sys/socket.h:280:0,
                 from /tmp/crp2/ucx/src/ucs/config/types.h:11,
                 from /tmp/crp2/ucx/src/ucs/config/global_opts.h:10,
                 from /tmp/crp2/ucx/src/ucs/debug/log.h:16,
                 from sys/sock.c:8:
sys/sock.c: In function 'ucs_socket_recv':
/usr/include/powerpc64le-linux-gnu/bits/socket2.h:34:1: error: inlining failed in call to always_inline 'recv': indirect function call with a yet undetermined callee
 recv (int __fd, void *__buf, size_t __n, int __flags)
 ^
sys/sock.c:256:9: error: called from here
     ret = io_func(fd, data, *length_p, MSG_NOSIGNAL);
         ^
make[2]: *** [sys/libucs_la-sock.lo] Error 1
make[2]: Leaving directory `/tmp/crp2/ucx/src/ucs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/crp2/ucx'
make: *** [all] Error 2

Steps to Reproduce

Setup and versions

Additional information (depending on the issue)

brminich commented 4 years ago

should be fixed by #4590 @hoopoepg, plz confirm

hoopoepg commented 4 years ago

@cparrott73 there is PR https://github.com/openucx/ucx/pull/4590 with fix of this issue could you try it?

thank you