Skip to content

NAG 7.2 does not build 5.0.2, but does 4.1.6: -pthread passed to ld  #12413

@mathomp4

Description

@mathomp4

Background information

What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)

I'm testing Open MPI 5.0.2 (and 4.1.6)

Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)

Both installed from tarfile.

Configure command is:

$ mkdir build-nag-7.2.01 && cd build-nag-7.2.01
$ ../configure --disable-wrapper-rpath --disable-wrapper-runpath \
      CC=gcc CXX=g++ FC=nagfor \
      --with-pmix=internal --with-hwloc=internal --with-libevent=internal \
      --prefix=/ford1/share/gmao_SIteam/MPI/openmpi/X.Y.Z/nag-7.2.01 |& tee configure.nag-7.2.01.log

where X.Y.Z is either 4.1.6 or 5.0.2

Please describe the system on which you are running

  • Operating system/version: RHEL8
  • Computer hardware: Intel(R) Xeon(R) CPU E5-2680 v4
  • Network type: Ethernet (I think? Single node)

Details of the problem

I am trying to build Open MPI 5.0.2 with NAG Fortran 7.2.01 (with GCC 12.1 as C/C++) and all works until:

make[3]: Entering directory '/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/ompi/mpi/fortran/mpif-h'
  CCLD     libmpi_mpifh.la
/usr/bin/ld: unrecognized option '-pthread'
/usr/bin/ld: use the --help option for usage information

if I build with V=1:

make[3]: Entering directory '/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/ompi/mpi/fortran/mpif-h'
/bin/sh ../../../../libtool  --tag=CC   --mode=link gcc  -O3 -DNDEBUG  -finline-functions -mcx16 -version-info 80:0:40  -o libmpi_mpifh.la -rpath /ford1/share/gmao_SIteam/MPI/openmpi/5.0.2/n
ag-7.2.01/lib  ../../../../ompi/libmpi.la ../../../../ompi/mpiext/ftmpi/mpif-h/libmpiext_ftmpi_mpifh.la /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/opal/libopen-pal.la pr
ofile/libmpi_mpifh_pmpi.la libmpi_mpifh_sizeof.la -lpthread -lrt -lm -lutil  /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/libevent-2.1.12-stable/libevent_core.la
 /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/libevent-2.1.12-stable/libevent_pthreads.la /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/hwloc-2.7.1/hwloc/libhwloc.la /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/openpmix/src/libpmix.la
libtool: link: gcc -shared  -fPIC -DPIC  -Wl,--whole-archive ../../../../ompi/mpiext/ftmpi/mpif-h/.libs/libmpiext_ftmpi_mpifh.a profile/.libs/libmpi_mpifh_pmpi.a ./.libs/libmpi_mpifh_sizeof.a -Wl,--no-whole-archive  -Wl,-rpath -Wl,/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/ompi/.libs -Wl,-rpath -Wl,/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/opal/.libs -Wl,-rpath -Wl,/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/openpmix/src/.libs -Wl,-rpath -Wl,/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/libevent-2.1.12-stable/.libs -Wl,-rpath -Wl,/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/hwloc-2.7.1/hwloc/.libs -Wl,-rpath -Wl,/ford1/share/gmao_SIteam/MPI/openmpi/5.0.2/nag-7.2.01/lib -L/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/opal/.libs -L/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/openpmix/src/.libs -L/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/libevent-2.1.12-stable/.libs -L/ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/hwloc-2.7.1/hwloc/.libs ../../../../ompi/.libs/libmpi.so /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/opal/.libs/libopen-pal.so -lpthread -lrt /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/openpmix/src/.libs/libpmix.so -lutil /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/libevent-2.1.12-stable/.libs/libevent_core.so /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/libevent-2.1.12-stable/.libs/libevent_pthreads.so /ford1/share/gmao_SIteam/MPI/src/openmpi-5.0.2/build-nag-7.2.01/3rd-party/hwloc-2.7.1/hwloc/.libs/libhwloc.so -lm -ludev -ldl  -O3 -mcx16   -pthread -Wl,-pthread -Wl,-soname -Wl,libmpi_mpifh.so.40 -o .libs/libmpi_mpifh.so.40.40.0
/usr/bin/ld: unrecognized option '-pthread'
/usr/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:2937: libmpi_mpifh.la] Error 1

So, I thought, let me try Open MPI 4.1.6 and:

...
make[3]: Entering directory '/ford1/share/gmao_SIteam/MPI/src/openmpi-4.1.6/build-nag-7.2.01/ompi/mpi/fortran/mpif-h'
  GENERATE sizeof_f.f90
  FC       sizeof_f.lo
NAG Fortran Compiler Release 7.2(Shin-Urayasu) Build 7201
[NAG Fortran Compiler normal termination]
  FCLD     libmpi_mpifh_sizeof.la
  CCLD     libmpi_mpifh.la
make[3]: Leaving directory '/ford1/share/gmao_SIteam/MPI/src/openmpi-4.1.6/build-nag-7.2.01/ompi/mpi/fortran/mpif-h'
make[2]: Leaving directory '/ford1/share/gmao_SIteam/MPI/src/openmpi-4.1.6/build-nag-7.2.01/ompi/mpi/fortran/mpif-h'
Making all in mpi/fortran/use-mpi-tkr
make[2]: Entering directory '/ford1/share/gmao_SIteam/MPI/src/openmpi-4.1.6/build-nag-7.2.01/ompi/mpi/fortran/use-mpi-tkr'
  GENERATE mpi-tkr-sizeof.h
  GENERATE mpi-tkr-sizeof.f90
  FC       mpi_aint_add_f90.lo
  FC       mpi_aint_diff_f90.lo
  FC       mpi_comm_spawn_multiple_f90.lo
...

It builds successfully.

I looked around here and I did see #4032 which is old, but, well, NAG is there, pthread is there... Maybe some old fix for NAG and Open MPI 2 got into 3, stayed around for 4, but got lost with 5?

NOTE: I was going to try and maybe see if I could use our new NAG setup to help with #9795, but that is a configure time fail so...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions