Hi,
Before Nvidia persons look into details,pProbably you can try to add the flag "-fPIC" to the nvhpc compiler likes cc="nvc -fPIC", which at least worked with me. /Jing ________________________________ From: users <users-boun...@lists.open-mpi.org> on behalf of Ray Muno via users <users@lists.open-mpi.org> Sent: Wednesday, September 29, 2021 17:22 To: Open MPI User's List Cc: Ray Muno Subject: Re: [OMPI users] OpenMPI 4.1.1, CentOS 7.9, nVidia HPC-SDk, build hints? Thanks, I looked through previous emails here in the user list. I guess I need to subscribe to the Developers list. -Ray Muno On 9/29/21 9:58 AM, Jeff Squyres (jsquyres) wrote: > Ray -- > > Looks like this is a dup of https://github.com/open-mpi/ompi/issues/8919 > <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 m >> <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. >> >> >> setenvNVHPC /stage/opt/NV_hpc_sdk >> setenvCC /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvc >> setenvCXX /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvc++ >> setenvFC /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvfortran >> setenvF90 /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvfortran >> setenvF77 /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin/nvfortran >> setenvCPP cpp >> prepend-pathPATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/cuda/bin >> prepend-pathPATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/bin >> prepend-pathPATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/bin >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/cuda/lib64 >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/cuda/extras/CUPTI/lib64 >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/lib >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/lib >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/math_libs/lib64 >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nccl/lib >> prepend-pathLD_LIBRARY_PATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nvshmem/lib >> prepend-pathCPATH /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/math_libs/include >> prepend-pathCPATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nccl/include >> prepend-pathCPATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/comm_libs/nvshmem/include >> prepend-pathCPATH >> /stage/opt/NV_hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/include/qd >> prepend-pathMANPATH /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> > > > -- Ray Muno IT Systems Administrator e-mail: m...@umn.edu Phone: (612) 625-9531 University of Minnesota Aerospace Engineering and Mechanics 110 Union St. S.E. Minneapolis, MN 55455