Dear arm64 porters, petsc 3.7 (in experimental) fails to build on arm64 (the previous version petsc 3.6 built fine).
The log isĀ https://buildd.debian.org/status/fetch.php?pkg=petsc&arch=arm64&ver=3.7.2.dfsg1-1exp1&stamp=1467423533 with an error during the configuration when testing MPI (configureMPIEXEC): Executing: mpicc -c -o /tmp/petsc-NEf0Qb/config.packages.MPI/conftest.o -I/tmp/petsc-NEf0Qb/config.setCompilers -I/tmp/petsc-NEf0Qb/config.utilities.closure -I/tmp/petsc-NEf0Qb/config.compilers -I/tmp/petsc-NEf0Qb/config.headers -I/tmp/petsc-NEf0Qb/config.utilities.cacheDetails -I/tmp/petsc-NEf0Qb/config.atomics -I/tmp/petsc-NEf0Qb/config.libraries -I/tmp/petsc-NEf0Qb/config.functions -I/tmp/petsc-NEf0Qb/config.utilities.featureTestMacros -I/tmp/petsc-NEf0Qb/config.utilities.missing -I/tmp/petsc-NEf0Qb/config.packages.MPI -I/tmp/petsc-NEf0Qb/config.types -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi/opal/mca/event/libevent2021/libevent -I/usr/lib/openmpi/include/openmpi/opal/mca/event/libevent2021/libevent/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi /tmp/petsc-NEf0Qb/config.packages.MPI/conftest.c Successful compile: ... Executing: mpicxx -o /tmp/petsc-NEf0Qb/config.packages.MPI/libconftest.so -Wl,-z,relro -shared /tmp/petsc-NEf0Qb/config.packages.MPI/conftest.o -L/usr/lib/openmpi/lib -L/usr/lib/gcc/aarch64-linux-gnu/5 -L/usr/lib/aarch64-linux-gnu -L/lib/aarch64-linux-gnu -L/usr/lib/aarch64-linux-gnu -ldl -L/usr/lib/openmpi/lib -lmpi -lgcc_s -lpthread -ldl Possible ERROR while running linker: exit code 256 stderr: /usr/bin/ld: /tmp/petsc-NEf0Qb/config.packages.MPI/conftest.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stack_chk_guard@@GLIBC_2.17' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /tmp/petsc-NEf0Qb/config.packages.MPI/conftest.o(.text+0xc): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `__stack_chk_guard@@GLIBC_2.17' /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status ******************************************************************************* UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log for details): ------------------------------------------------------------------------------- Shared libraries cannot be built using MPI provided. Either rebuild with --with-shared-libraries=0 or rebuild MPI with shared library support ******************************************************************************* The failing test command uses mpicxx with no -fPIC flag. By contrast, the amd64 build of petsc 3.7 at this point (linking conftest.o into libconftest.so) uses mpicc not mpicxx, and does add -fPIC. Could openmpi have been configured differently on arm64 compared to amd64, that it might have lost shared library support? Any other thoughts on what is wrong? Drew

