Public bug reported: A few days ago, I have upgraded several machines from Ubuntu 20.10 to 21.04. Since then, I cannot compile anymore the C++ code that I am working on. The compilation (actually linking) with mpic++ fails with the following message
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libmpich.a(lib_libmpich_la-ch3_init.o): undefined reference to symbol 'pthread_mutexattr_init@@GLIBC_2.2.5' /usr/bin/ld : /lib/x86_64-linux-gnu/libpthread.so.0 : erreur lors de l'ajout de symboles : DSO missing from command line collect2: error: ld returned 1 exit status I tried to add -pthread -lpthread. I now get the message /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(ad_iwrite.o) : dans la fonction « ADIOI_GEN_aio_wait_fn » : (.text+0x137) : référence indéfinie vers « aio_suspend » /usr/bin/ld : (.text+0x191) : référence indéfinie vers « aio_error » /usr/bin/ld : (.text+0x1a4) : référence indéfinie vers « aio_return » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(ad_iwrite.o) : dans la fonction « ADIOI_GEN_aio_poll_fn » : (.text+0x32a) : référence indéfinie vers « aio_error » /usr/bin/ld : (.text+0x345) : référence indéfinie vers « aio_return » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(ad_iwrite.o) : dans la fonction « ADIOI_GEN_aio » : (.text+0x471) : référence indéfinie vers « aio_write » /usr/bin/ld : (.text+0x501) : référence indéfinie vers « aio_read » collect2: error: ld returned 1 exit status Note that my code still compiles on other machines with older Ubuntu distribution. The problem can be reproduced with the much simpler MPI example (taken from https://mpitutorial.com/tutorials/mpi-hello-world/) #include <mpi.h> #include <stdio.h> int main(int argc, char** argv) { // Initialize the MPI environment MPI_Init(NULL, NULL); // Get the number of processes int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); // Get the rank of the process int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); // Get the name of the processor char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_len; MPI_Get_processor_name(processor_name, &name_len); // Print off a hello world message printf("Hello world from processor %s, rank %d out of %d processors\n", processor_name, world_rank, world_size); // Finalize the MPI environment. MPI_Finalize(); } The compilation with the command mpicc test.c returns the error message /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(lib_libmpich_la-init_async.o) : dans la fonction « MPIR_Finalize_async_thread » : (.text+0x4d2) : référence indéfinie vers « pthread_join » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(lib_libmpich_la-ch3_init.o) : dans la fonction « split_type » : (.text+0x159) : référence indéfinie vers « pthread_mutexattr_init » /usr/bin/ld : (.text+0x166) : référence indéfinie vers « pthread_mutexattr_setpshared » /usr/bin/ld : (.text+0x170) : référence indéfinie vers « pthread_mutexattr_destroy » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(lib_libmpich_la-ch3_init.o) : dans la fonction « MPIDI_CH3I_Shm_supported » : (.text+0x243) : référence indéfinie vers « pthread_mutexattr_init » /usr/bin/ld : (.text+0x250) : référence indéfinie vers « pthread_mutexattr_setpshared » /usr/bin/ld : (.text+0x25a) : référence indéfinie vers « pthread_mutexattr_destroy » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(lib_libmpich_la-ch3_win_fns.o) : dans la fonction « MPIDI_CH3I_Win_allocate_shm » : (.text+0x13a9) : référence indéfinie vers « pthread_mutexattr_init » /usr/bin/ld : (.text+0x13ca) : référence indéfinie vers « pthread_mutexattr_setpshared » /usr/bin/ld : (.text+0x1408) : référence indéfinie vers « pthread_mutexattr_destroy » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(mpl_thread_posix.o) : dans la fonction « MPL_thread_create » : (.text+0x70) : référence indéfinie vers « pthread_create » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(ad_iwrite.o) : dans la fonction « ADIOI_GEN_aio_wait_fn » : (.text+0x137) : référence indéfinie vers « aio_suspend » /usr/bin/ld : (.text+0x191) : référence indéfinie vers « aio_error » /usr/bin/ld : (.text+0x1a4) : référence indéfinie vers « aio_return » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(ad_iwrite.o) : dans la fonction « ADIOI_GEN_aio_poll_fn » : (.text+0x32a) : référence indéfinie vers « aio_error » /usr/bin/ld : (.text+0x345) : référence indéfinie vers « aio_return » /usr/bin/ld : /usr/lib/x86_64-linux-gnu/libmpich.a(ad_iwrite.o) : dans la fonction « ADIOI_GEN_aio » : (.text+0x471) : référence indéfinie vers « aio_write » /usr/bin/ld : (.text+0x501) : référence indéfinie vers « aio_read » My system is up-to-date: lsb_release -rd Description: Ubuntu 21.04 Release: 21.04 dpkg -l "*mpich*" Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements |/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais) ||/ Nom Version Architecture Description +++-==================-=============-============-============================================================ ii libmpich-dev:amd64 3.4.1-3build1 amd64 Development files for MPICH ii libmpich12:amd64 3.4.1-3build1 amd64 Shared libraries for MPICH ii mpich 3.4.1-3build1 amd64 Implementation of the MPI Message Passing Interface standard apt-cache policy mpich mpich: Installé : 3.4.1-3build1 Candidat : 3.4.1-3build1 Table de version : *** 3.4.1-3build1 500 500 http://fr.archive.ubuntu.com/ubuntu hirsute/universe amd64 Packages 100 /var/lib/dpkg/status ProblemType: Bug DistroRelease: Ubuntu 21.04 Package: mpich 3.4.1-3build1 ProcVersionSignature: Ubuntu 5.11.0-17.18-generic 5.11.12 Uname: Linux 5.11.0-17-generic x86_64 ApportVersion: 2.20.11-0ubuntu65 Architecture: amd64 CasperMD5CheckResult: unknown CurrentDesktop: LXQt Date: Wed May 19 20:51:59 2021 InstallationDate: Installed on 2019-01-20 (849 days ago) InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725) SourcePackage: mpich UpgradeStatus: Upgraded to hirsute on 2021-05-13 (6 days ago) ** Affects: mpich (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug hirsute -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1928981 Title: Compilation of MPI C/C++ codes fails with mpich To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mpich/+bug/1928981/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs