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

Reply via email to