jdevinney / bale_old

A collection of buffered communication libraries and some mini-applications.
8 stars 10 forks source link

Failed to build... #3

Open intendo opened 5 years ago

intendo commented 5 years ago

I have a cluster that I am trying to run bale on and the compile fails during convey. The system in CentOS 7 and I am using UPCC and BUPC. I have included the system information, the UPCC information, and the output of install.sh. Do you have any ideas on what I could do differently?

SYSTEM INFORMATION: [user@hostname bale]$ more /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

UPCC INFORMATION: [user@hostname bale]$ upcc --version This is upcc (the Berkeley Unified Parallel C compiler), v. 2019.4.2 ----------------------+--------------------------------------------------------- UPC Runtime | v. 2019.4.2, built on Aug 5 2019 at 13:31:29 ----------------------+--------------------------------------------------------- UPC-to-C translator | v. 2.28.0, built on Aug 5 2019 at 11:53:28 | host hostname.local linux-x86_64/64 | gcc v4.8.5 20150623 (Red Hat 4.8.5-16) ----------------------+--------------------------------------------------------- Translator location | /share/apps/upc_trans/2.28.0/targ ----------------------+--------------------------------------------------------- networks supported | smp udp ibv ----------------------+--------------------------------------------------------- default network | ibv ----------------------+--------------------------------------------------------- pthreads support | available (if used, default is 2 pthreads per process) ----------------------+--------------------------------------------------------- Configured with | '--with-translator=/share/apps/upc_trans/2.28.0/targ' | '--disable-aligned-segments' | '--prefix=/share/apps/berkeley_upc/2019.4.2/gcc/8.2.0// | opt' '--with-multiconf-magic=opt' ----------------------+--------------------------------------------------------- Configure features | trans_bupc,pragma_upc_code,driver_upcc,runtime_upcr, | gasnet,upc_collective,upc_io,upc_memcpy_async, | upc_memcpy_vis,upc_ptradd,upc_thread_distance,upc_tick, | upc_sem,upc_dump_shared,upc_trace_printf, | upc_trace_mask,upc_local_to_shared,upc_all_free, | upc_atomics,pupc,upc_types,upc_castable,upc_nb,nodebug, | notrace,nostats,nodebugmalloc,nogasp,nothrille, | segment_fast,os_linux,cpu_x86_64,cpu_64,cc_gnu, | packedsptr,upc_io_64 ----------------------+--------------------------------------------------------- Configure id | hostname.local Mon Aug 5 13:27:46 PDT 2019 d3p852 ----------------------+--------------------------------------------------------- Binary interface | 64-bit x86_64-unknown-linux-gnu ----------------------+--------------------------------------------------------- Runtime interface # | Runtime supports 3.0 -> 3.13: Translator uses 3.6 ----------------------+--------------------------------------------------------- | --- BACKEND SETTINGS (for ibv network) --- ----------------------+--------------------------------------------------------- C compiler | /share/apps/gcc/8.2.0/bin/gcc | GNU/8.2.0/8.2.0 | gcc (GCC) 8.2.0 Copyright (C) 2018 Free Software | Foundation, Inc. ----------------------+--------------------------------------------------------- C compiler flags | -O3 --param max-inline-insns-single=35000 --param | inline-unit-growth=10000 --param | large-function-growth=200000 -Wno-unused | -Wunused-result -Wno-unused-parameter -Wno-address ----------------------+--------------------------------------------------------- linker | /share/apps/gcc/8.2.0/bin/gcc | GNU/8.2.0/8.2.0 | gcc (GCC) 8.2.0 Copyright (C) 2018 Free Software | Foundation, Inc. ----------------------+--------------------------------------------------------- linker flags | -O3 --param max-inline-insns-single=35000 --param | inline-unit-growth=10000 --param | large-function-growth=200000 -Wno-unused | -Wunused-result -Wno-unused-parameter -Wno-address | -L/share/apps/berkeley_upc/2019.4.2/gcc/8.2.0/opt/lib | -lupcr-ibv-seq -lumalloc | -L/share/apps/berkeley_upc/2019.4.2/gcc/8.2.0/opt/lib | -lgasnet-ibv-seq -libverbs -lpthread -lrt | -L/share/apps/gcc/8.2.0/lib/gcc/x86_64-pc-linux-gnu/8.2 | .0 -lgcc -lm ----------------------+---------------------------------------------------------

[user@hostname bale]$ UPCFLAGS="-bupc -network=ibv" ./install.sh -c "CFLAGS=-g" -u -f


libgetput


autoreconf -fi ../../libgetput/configure --prefix=/home/user/git/bale/build_unknown --with-upc CFLAGS=-g checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '12572' is supported by ustar format... yes checking whether GID '100' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking for ranlib... ranlib checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for gcc option to accept ISO C99... none needed checking for upcc... upcc checking dependency style of upcc... none checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating libgetput.pc config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands test -z "liblibgetput.a" || rm -f liblibgetput.a rm -f *.o (CDPATH="${ZSH_VERSION+.}:" && cd ../../libgetput && /bin/sh /home/user/git/bale/libgetput/missing autoheader) rm -f stamp-h1 touch ../../libgetput/config.h.in cd . && /bin/sh ./config.status config.h config.status: creating config.h config.status: config.h is unchanged make all-am make[1]: Entering directory /home/user/git/bale/build_unknown/libgetput' source='../../libgetput/libgetput.upc' object='libgetput.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../../libgetput/depcomp \ upcc -DHAVE_CONFIG_H -I. -I../../libgetput -bupc -network=ibv -c -o libgetput.o ../../libgetput/libgetput.upc ../../libgetput/libgetput.upc: In function 'lgp_atomic_add': ../../libgetput/libgetput.upc:58:17: warning: implicit declaration of function 'bupc_atomicI64_fetchadd_relaxed'; did you mean 'upc_atomic_relaxed'? [-Wimplicit-function-declaration] ../../libgetput/libgetput.upc: In function 'lgp_cmp_and_swap': ../../libgetput/libgetput.upc:132:17: warning: implicit declaration of function 'bupc_atomicI64_cswap_relaxed'; did you mean 'upc_atomic_relaxed'? [-Wimplicit-function-declaration] rm -f liblibgetput.a ar cru liblibgetput.a libgetput.o ranlib liblibgetput.a make[1]: Leaving directory/home/user/git/bale/build_unknown/libgetput' make[1]: Entering directory /home/user/git/bale/build_unknown/libgetput' /usr/bin/mkdir -p '/home/user/git/bale/build_unknown/lib' /usr/bin/install -c -m 644 liblibgetput.a '/home/user/git/bale/build_unknown/lib' ( cd '/home/user/git/bale/build_unknown/lib' && ranlib liblibgetput.a ) /usr/bin/mkdir -p '/home/user/git/bale/build_unknown/include' /usr/bin/install -c -m 644 ../../libgetput/libgetput.h '/home/user/git/bale/build_unknown/include' /usr/bin/mkdir -p '/home/user/git/bale/build_unknown/lib/pkgconfig' /usr/bin/install -c -m 644 libgetput.pc '/home/user/git/bale/build_unknown/lib/pkgconfig' make[1]: Leaving directory/home/user/git/bale/build_unknown/libgetput'


exstack


autoreconf -fi ../../exstack/configure --prefix=/home/user/git/bale/build_unknown --with-upc CFLAGS=-g checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '12572' is supported by ustar format... yes checking whether GID '100' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking for ranlib... ranlib checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for gcc option to accept ISO C99... none needed checking for upcc... upcc checking dependency style of upcc... none checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for libdeps... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating exstack.pc config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands test -z "libexstack.a" || rm -f libexstack.a rm -f *.o (CDPATH="${ZSH_VERSION+.}:" && cd ../../exstack && /bin/sh /home/user/git/bale/exstack/missing autoheader) rm -f stamp-h1 touch ../../exstack/config.h.in cd . && /bin/sh ./config.status config.h config.status: creating config.h config.status: config.h is unchanged make all-am make[1]: Entering directory /home/user/git/bale/build_unknown/exstack' source='exstack.upc' object='libexstack_a-exstack.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../../exstack/depcomp \ upcc -DHAVE_CONFIG_H -I. -I../../exstack -I/home/user/git/bale/build_unknown/include -bupc -network=ibv -c -o libexstack_a-exstack.otest -f 'exstack.upc' || echo '../../exstack/'exstack.upc source='exstack2.upc' object='libexstack_a-exstack2.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../../exstack/depcomp \ upcc -DHAVE_CONFIG_H -I. -I../../exstack -I/home/user/git/bale/build_unknown/include -bupc -network=ibv -c -o libexstack_a-exstack2.otest -f 'exstack2.upc' || echo '../../exstack/'exstack2.upc ../../exstack/exstack2.upc: In functionexstack2_send': ../../exstack/exstack2.upc:334: warning: passing arg 1 of lgp_fetch_and_inc' discards qualifiers from pointer target type rm -f libexstack.a ar cru libexstack.a libexstack_a-exstack.o libexstack_a-exstack2.o ranlib libexstack.a make[1]: Leaving directory/home/user/git/bale/build_unknown/exstack' make[1]: Entering directory /home/user/git/bale/build_unknown/exstack' /usr/bin/mkdir -p '/home/user/git/bale/build_unknown/lib' /usr/bin/install -c -m 644 libexstack.a '/home/user/git/bale/build_unknown/lib' ( cd '/home/user/git/bale/build_unknown/lib' && ranlib libexstack.a ) /usr/bin/mkdir -p '/home/user/git/bale/build_unknown/include' /usr/bin/install -c -m 644 ../../exstack/exstack.h '/home/user/git/bale/build_unknown/include' /usr/bin/mkdir -p '/home/user/git/bale/build_unknown/lib/pkgconfig' /usr/bin/install -c -m 644 exstack.pc '/home/user/git/bale/build_unknown/lib/pkgconfig' make[1]: Leaving directory/home/user/git/bale/build_unknown/exstack'


convey


autoreconf -fi ../../convey/configure --prefix=/home/user/git/bale/build_unknown --with-upc CFLAGS=-g checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for gcc option to accept ISO C99... none needed checking whether gcc and cc understand -c and -o together... yes checking for ranlib... ranlib checking for upcc... upcc checking dependency style of upcc... none checking whether ln -s works... yes checking for doxygen... doxygen checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for inttypes.h... (cached) yes checking for int64_t... yes checking for uint64_t... yes checking for unistd.h... (cached) yes checking for gethostname... yes checking for sqrt in -lm... yes checking upc.h usability... yes checking upc.h presence... no configure: WARNING: upc.h: accepted by the compiler, rejected by the preprocessor! configure: WARNING: upc.h: proceeding with the compiler's result checking for upc.h... yes checking for upc_castable.h... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating convey.pc config.status: creating Doxyfile config.status: creating config.h config.status: executing depfiles commands

 convey 0.4.5
 Prefix.............: /home/user/git/bale/build_unknown
 Programming Model..: UPC
 MPP Profiling......: no
 C Compiler.........: gcc -g 
 Linker.............: gcc  -lm 

test -z "alltoallu histogupc indexgupc" || rm -f alltoallu histogupc indexgupc test -z "__upc.upc tests.out doxywarn.txt doxygen.stamp convey-doxy-0.4.5.tar.gz" || rm -f upc.upc tests.out doxywarn.txt doxygen.stamp convey-doxy-0.4.5.tar.gz test -z "libconvey.a" || rm -f libconvey.a rm -rf html latex rm -f *.o test -z "test_simple.log test_tensor.log test_elastic.log test_examples.log" || rm -f test_simple.log test_tensor.log test_elastic.log test_examples.log test -z "test_simple.trs test_tensor.trs test_elastic.trs test_examples.trs" || rm -f test_simple.trs test_tensor.trs test_elastic.trs test_examples.trs test -z "test-suite.log" || rm -f test-suite.log make all-am make[1]: Entering directory `/home/user/git/bale/build_unknown/convey' INFO: Linking UPC copy of C file: circleupc.upc source='circleupc.upc' object='circleupc.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../../convey/depcomp \ upcc -DHAVE_CONFIG_H -I. -I../../convey -bupc -network=ibv -c -o circleupc.o circleupc.upc upcc: error compiling translated C code: circleupc.w2c.h:43:24: error: conflicting types for 'sorter_new' unsigned long tail; ^
In file included from circle
upc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:53:11: note: previous declaration of 'sorter_new' was here sorter_t* sorter_new(int n, area_t areas[n], size_t item_bytes, size_t capacity, ^~~~~~ circle__upc.w2c.h:47:22: error: conflicting types for 'sorter_setup'

                  ^           

In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:57:6: note: previous declaration of 'sorter_setup' was here bool sorter_setup(sorter_t* self); ^~~~ circleupc.w2c.h:49:22: error: conflicting types for 'sorter_push'

                  ^          

In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:62:6: note: previous declaration of 'sorter_push' was here bool sorter_push(sorter_t self, const void item, int dest); ^~~ circleupc.w2c.h:51:22: error: conflicting types for 'sorter_flush'

                  ^           

In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:66:6: note: previous declaration of 'sorter_flush' was here bool sorter_flush(sorter_t* self); ^~~~ circleupc.upc:63:24: error: conflicting types for 'sorter_new' In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:53:11: note: previous declaration of 'sorter_new' was here sorter_t* sorter_new(int n, area_t areas[n], size_t item_bytes, size_t capacity, ^~~~~~ circleupc.upc:83:22: error: conflicting types for 'sorter_setup' In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:57:6: note: previous declaration of 'sorter_setup' was here bool sorter_setup(sorter_t* self); ^~~~ circleupc.upc:91:22: error: conflicting types for 'sorter_push' In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:62:6: note: previous declaration of 'sorter_push' was here bool sorter_push(sorter_t self, const void item, int dest); ^~~ circleupc.upc:119:22: error: conflicting types for 'sorter_flush' In file included from circleupc.trans.c:30: /home/user/git/bale/build_unknown/convey/../../convey/sorter.h:66:6: note: previous declaration of 'sorter_flush' was here bool sorter_flush(sorter_t* self); ^~~~ gmake[2]: *** [circleupc.trans.o] Error 1 make[1]: [circle__upc.o] Error 255 make[1]: Leaving directory `/home/user/git/bale/build_unknown/convey' make: [all] Error 2 build of convey failed!

jdevinney commented 4 years ago

Hi there, We have seen this error before I think. Whenever we build bale with BUPC, we use the Clang or GNU UPC compiler. Do you have that option? If not, is SHMEM an option?