Ray --

Looks like this is a dup of https://github.com/open-mpi/ompi/issues/8919.


On Sep 29, 2021, at 10:47 AM, Ray Muno via users 
<users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>> wrote:

Looking to compile

OpenMPI 4.1.1

under Centos 7.9, (with Mellanox OFED 5.3 stack)

with the nVidia HPC-SDK, version 21.7.

Configure works, build fails.

The nvidia HPC-SDK is using their environmental module which sets these 
variables, etc.


setenv NVHPC /stage/opt/NV_hpc_sdk
setenv CC /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvc
setenv CXX /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvc++
setenv FC /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvfortran
setenv F90 /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvfortran
setenv F77 /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvfortran
setenv CPP cpp
prepend-path PATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/cuda/bin
prepend-path PATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin
prepend-path PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/bin
prepend-path LD_LIBRARY_PATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/cuda/lib64
prepend-path LD_LIBRARY_PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/cuda/extras/CUPTI/lib64
prepend-path LD_LIBRARY_PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/lib
prepend-path LD_LIBRARY_PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/lib
prepend-path LD_LIBRARY_PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/math_libs/lib64
prepend-path LD_LIBRARY_PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nccl/lib
prepend-path LD_LIBRARY_PATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nvshmem/lib
prepend-path CPATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/math_libs/include
prepend-path CPATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nccl/include
prepend-path CPATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nvshmem/include
prepend-path CPATH 
/stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/include/qd
prepend-path MANPATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/man
-------------------------------------------------------------------


configure  --prefix=/stage/opt/OpenMPI/ROME/4.1.1/NV-HPC/21.7 CC=nvc CXX=nvc++ 
FC=nvfortran

...
FCLD     libmpi_usempif08.la<http://libmpi_usempif08.la>
/usr/bin/ld: .libs/comm_spawn_multiple_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/startall_f08.o: relocation R_X86_64_32S against `.rodata' 
can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/testall_f08.o: relocation R_X86_64_32S against `.rodata' can 
not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/testany_f08.o: relocation R_X86_64_32S against `.rodata' can 
not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/testsome_f08.o: relocation R_X86_64_32S against `.rodata' 
can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/type_create_struct_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/type_get_contents_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/waitall_f08.o: relocation R_X86_64_32S against `.rodata' can 
not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/waitany_f08.o: relocation R_X86_64_32S against `.rodata' can 
not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/waitsome_f08.o: relocation R_X86_64_32S against `.rodata' 
can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/pcomm_spawn_multiple_f08.o: relocation R_X86_64_32S 
against `.rodata' can not be used when making a shared object; recompile with 
-fPIC
/usr/bin/ld: profile/.libs/pstartall_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/ptestall_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/ptestany_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/ptestsome_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/ptype_create_struct_f08.o: relocation R_X86_64_32S 
against `.rodata' can not be used when making a shared object; recompile with 
-fPIC
/usr/bin/ld: profile/.libs/ptype_get_contents_f08.o: relocation R_X86_64_32S 
against `.rodata' can not be used when making a shared object; recompile with 
-fPIC
/usr/bin/ld: profile/.libs/pwaitall_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/pwaitany_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: profile/.libs/pwaitsome_f08.o: relocation R_X86_64_32S against 
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .libs/abort_f08.o: relocation R_X86_64_PC32 against symbol 
`ompi_abort_f' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
make[2]: *** [libmpi_usempif08.la<http://libmpi_usempif08.la>] Error 2
make[2]: Leaving directory 
`/project/muno/OpenMPI/BUILD/4.1.1/ROME/NV-HPC/21.7/ompi/mpi/fortran/use-mpi-f08'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/project/muno/OpenMPI/BUILD/4.1.1/ROME/NV-HPC/21.7/ompi'
make: *** [all-recursive] Error 1






--

Ray Muno
IT Systems Administrator
e-mail:   m...@umn.edu<mailto:m...@umn.edu>
University of Minnesota
Aerospace Engineering and Mechanics


--
Jeff Squyres
jsquy...@cisco.com<mailto:jsquy...@cisco.com>



Reply via email to