I share my debug on the arm64 issue.
1) deal.ii fails to use ld=GOLD on Ubuntu, while it succeeds in Debian, so the arm64 link failure is just a problem hidden in Debian because gold is correctly used.
this is what is done in the check to test if cxx and flags are usable:
cat main.cpp
int main () { return 0; }
/usr/bin/c++ -DDEAL_II_HAVE_USABLE_FLAGS_DEBUG -pedantic -fPIC -Wall -Wextra -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -std=c++17 -g -O2 -fdebug-prefix-map=/deal.ii-9.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-nonnull-compare -Wno-address -Wno-unused-local-typedefs -O0 -ggdb -Wa,--compress-debug-sections -rdynamic main.cpp -o cmTC_10815 -Wl,-rpath,/usr/lib/x86_64-linux-gnu/hdf5/openmpi:/usr/lib/x86_64-linux-gnu/openmpi/lib:/usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/lib -rdynamic -fuse-ld=gold -Wl,-Bsymbolic-functions -Wl,-z,relro -pthread -pthread -ggdb /usr/lib/x86_64-linux-gnu/libboost_iostreams.so /usr/lib/x86_64-linux-gnu/libboost_serialization.so /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/x86_64-linux-gnu/libboost_thread.so -pthread /usr/lib/x86_64-linux-gnu/libboost_regex.so /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_atomic.so /usr/lib/x86_64-linux-gnu/libtrilinos_pike-blackbox.so /usr/lib/x86_64-linux-gnu/libtrilinos_trilinoscouplings.so /usr/lib/x86_64-linux-gnu/libtrilinos_piro.so /usr/lib/x86_64-linux-gnu/libtrilinos_rol.so /usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_muelu.so /usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_ifpack2.so /usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_amesos2.so /usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_tpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_sacado.so /usr/lib/x86_64-linux-gnu/libtrilinos_stokhos.so /usr/lib/x86_64-linux-gnu/libtrilinos_rythmos.so /usr/lib/x86_64-linux-gnu/libtrilinos_muelu-adapters.so /usr/lib/x86_64-linux-gnu/libtrilinos_muelu-interface.so /usr/lib/x86_64-linux-gnu/libtrilinos_muelu.so /usr/lib/x86_64-linux-gnu/libtrilinos_moertel.so /usr/lib/x86_64-linux-gnu/libtrilinos_locathyra.so /usr/lib/x86_64-linux-gnu/libtrilinos_locaepetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_localapack.so /usr/lib/x86_64-linux-gnu/libtrilinos_loca.so /usr/lib/x86_64-linux-gnu/libtrilinos_noxepetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_noxlapack.so /usr/lib/x86_64-linux-gnu/libtrilinos_nox.so /usr/lib/x86_64-linux-gnu/libtrilinos_phalanx.so /usr/lib/x86_64-linux-gnu/libtrilinos_intrepid.so /usr/lib/x86_64-linux-gnu/libtrilinos_teko.so /usr/lib/x86_64-linux-gnu/libtrilinos_stratimikos.so /usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosbelos.so /usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosaztecoo.so /usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosamesos.so /usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosml.so /usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosifpack.so /usr/lib/x86_64-linux-gnu/libtrilinos_ifpack2-adapters.so /usr/lib/x86_64-linux-gnu/libtrilinos_ifpack2.so /usr/lib/x86_64-linux-gnu/libtrilinos_anasazitpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_ModeLaplace.so /usr/lib/x86_64-linux-gnu/libtrilinos_anasaziepetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_anasazi.so /usr/lib/x86_64-linux-gnu/libtrilinos_komplex.so /usr/lib/x86_64-linux-gnu/libtrilinos_amesos2.so /usr/lib/x86_64-linux-gnu/libtrilinos_shylu.so /usr/lib/x86_64-linux-gnu/libtrilinos_belostpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_belosepetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_belos.so /usr/lib/x86_64-linux-gnu/libtrilinos_ml.so /usr/lib/x86_64-linux-gnu/libtrilinos_ifpack.so /usr/lib/x86_64-linux-gnu/libtrilinos_zoltan2.so /usr/lib/x86_64-linux-gnu/libtrilinos_pamgen_extras.so /usr/lib/x86_64-linux-gnu/libtrilinos_pamgen.so /usr/lib/x86_64-linux-gnu/libtrilinos_amesos.so /usr/lib/x86_64-linux-gnu/libtrilinos_galeri-xpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_galeri-epetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_aztecoo.so /usr/lib/x86_64-linux-gnu/libtrilinos_dpliris.so /usr/lib/x86_64-linux-gnu/libtrilinos_isorropia.so /usr/lib/x86_64-linux-gnu/libtrilinos_optipack.so /usr/lib/x86_64-linux-gnu/libtrilinos_xpetra-sup.so /usr/lib/x86_64-linux-gnu/libtrilinos_xpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_thyratpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_thyraepetraext.so /usr/lib/x86_64-linux-gnu/libtrilinos_thyraepetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_thyracore.so /usr/lib/x86_64-linux-gnu/libtrilinos_epetraext.so /usr/lib/x86_64-linux-gnu/libtrilinos_trilinosss.so /usr/lib/x86_64-linux-gnu/libtrilinos_tpetraext.so /usr/lib/x86_64-linux-gnu/libtrilinos_tpetrainout.so /usr/lib/x86_64-linux-gnu/libtrilinos_tpetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_kokkostsqr.so /usr/lib/x86_64-linux-gnu/libtrilinos_tpetraclassiclinalg.so /usr/lib/x86_64-linux-gnu/libtrilinos_tpetraclassicnodeapi.so /usr/lib/x86_64-linux-gnu/libtrilinos_tpetraclassic.so /usr/lib/x86_64-linux-gnu/libtrilinos_triutils.so /usr/lib/x86_64-linux-gnu/libtrilinos_globipack.so /usr/lib/x86_64-linux-gnu/libtrilinos_shards.so /usr/lib/x86_64-linux-gnu/libtrilinos_zoltan.so /usr/lib/x86_64-linux-gnu/libtrilinos_epetra.so /usr/lib/x86_64-linux-gnu/libtrilinos_sacado.so /usr/lib/x86_64-linux-gnu/libtrilinos_rtop.so /usr/lib/x86_64-linux-gnu/libtrilinos_kokkoskernels.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchoskokkoscomm.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchoskokkoscompat.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchosremainder.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchosnumerics.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchoscomm.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchosparameterlist.so /usr/lib/x86_64-linux-gnu/libtrilinos_teuchoscore.so /usr/lib/x86_64-linux-gnu/libtrilinos_kokkosalgorithms.so /usr/lib/x86_64-linux-gnu/libtrilinos_kokkoscontainers.so /usr/lib/x86_64-linux-gnu/libtrilinos_kokkoscore.so /usr/lib/x86_64-linux-gnu/libsmumps.so /usr/lib/x86_64-linux-gnu/libdmumps.so /usr/lib/x86_64-linux-gnu/libcmumps.so /usr/lib/x86_64-linux-gnu/libzmumps.so /usr/lib/x86_64-linux-gnu/libpord.so /usr/lib/x86_64-linux-gnu/libmumps_common.so /usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so /usr/lib/x86_64-linux-gnu/libtbb.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libptscotch.so /usr/lib/x86_64-linux-gnu/libptscotcherr.so /usr/lib/x86_64-linux-gnu/libscotch.so /usr/lib/x86_64-linux-gnu/libscotcherr.so -ldl /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so /usr/lib/x86_64-linux-gnu/libumfpack.so /usr/lib/x86_64-linux-gnu/libcholmod.so /usr/lib/x86_64-linux-gnu/libccolamd.so /usr/lib/x86_64-linux-gnu/libcolamd.so /usr/lib/x86_64-linux-gnu/libcamd.so /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so /usr/lib/x86_64-linux-gnu/libamd.so -lrt /usr/lib/x86_64-linux-gnu/libparpack.so /usr/lib/x86_64-linux-gnu/libarpack.so /usr/lib/x86_64-linux-gnu/libassimp.so /usr/lib/x86_64-linux-gnu/libgsl.so /usr/lib/x86_64-linux-gnu/libgslcblas.so /usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/lib/libhdf5_hl.so /usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/lib/libhdf5.so /usr/lib/x86_64-linux-gnu/libmuparser.so /usr/lib/x86_64-linux-gnu/libnetcdf_c++.so /usr/lib/x86_64-linux-gnu/libnetcdf.so /usr/lib/x86_64-linux-gnu/libTKBO.so /usr/lib/x86_64-linux-gnu/libTKBool.so /usr/lib/x86_64-linux-gnu/libTKBRep.so /usr/lib/x86_64-linux-gnu/libTKernel.so /usr/lib/x86_64-linux-gnu/libTKFeat.so /usr/lib/x86_64-linux-gnu/libTKFillet.so /usr/lib/x86_64-linux-gnu/libTKG2d.so /usr/lib/x86_64-linux-gnu/libTKG3d.so /usr/lib/x86_64-linux-gnu/libTKGeomAlgo.so /usr/lib/x86_64-linux-gnu/libTKGeomBase.so /usr/lib/x86_64-linux-gnu/libTKHLR.so /usr/lib/x86_64-linux-gnu/libTKIGES.so /usr/lib/x86_64-linux-gnu/libTKMath.so /usr/lib/x86_64-linux-gnu/libTKMesh.so /usr/lib/x86_64-linux-gnu/libTKOffset.so /usr/lib/x86_64-linux-gnu/libTKPrim.so /usr/lib/x86_64-linux-gnu/libTKShHealing.so /usr/lib/x86_64-linux-gnu/libTKSTEP.so /usr/lib/x86_64-linux-gnu/libTKSTEPAttr.so /usr/lib/x86_64-linux-gnu/libTKSTEPBase.so /usr/lib/x86_64-linux-gnu/libTKSTEP209.so /usr/lib/x86_64-linux-gnu/libTKSTL.so /usr/lib/x86_64-linux-gnu/libTKTopAlgo.so /usr/lib/x86_64-linux-gnu/libTKXSBase.so /usr/lib/x86_64-linux-gnu/libp4est.so /usr/lib/x86_64-linux-gnu/libsc.so /usr/lib/x86_64-linux-gnu/libscalapack-openmpi.so /usr/lib/x86_64-linux-gnu/liblapack.so /usr/lib/x86_64-linux-gnu/libblas.so -lgfortran -lquadmath -lm -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempif08.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempi_ignore_tkr.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_mpifh.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so /usr/lib/x86_64-linux-gnu/libslepc.so /usr/lib/x86_64-linux-gnu/libpetsc.so /usr/lib/x86_64-linux-gnu/libsundials_idas.so /usr/lib/x86_64-linux-gnu/libsundials_arkode.so /usr/lib/x86_64-linux-gnu/libsundials_kinsol.so /usr/lib/x86_64-linux-gnu/libsundials_nvecserial.so /usr/lib/x86_64-linux-gnu/libsundials_nvecparallel.so
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_init_epoch'
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class'
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize'
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_uses_threads'
collect2: error: ld returned 1 exit status
So I presume as soon as openmpi is built with gcc-9 asneeded flag Debian will have the same failure.
Reproducible on amd64 too after configuring the project and looking at 64-linux- gnu/CMakeFiles/ CMakeError. log log
./obj-x86_