I see that the openmpi5. x version has a fault-tolerant system, so I want to use openmpi5.0 and openacc to complete my project. I downloaded openmpi-5.0.0rc11 and previously used./configure – prefix=usr/local/openmpi to complete the installation. However, I found that this seemed to be compiled using the gcc compiler, so I searched for some methods again, such as
./configure CC=pgcc CXX=pgCC FC=pgf77 F90=pgf90 --prefix=/usr/local/openmpi
make
make install
But there seems to be a problem in the last step
The prompt error is as follows
/home/orin/Downloads/openmpi-5.0.0rc11/3rd-party/openpmix/libtool: line 10537: pgcc: command not found
libtool: error: error: relink 'libpmix.la' with the above command before installing it
Make [5]: * * * [Makefile: 1033: install libLTLIBRARIES] Error 1
Make [5]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/3rd party/openmix/src'
Make [4]: * * * [Makefile: 1494: install am] Error 2
Make [4]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/3rd party/openmix/src'
Make [3]: * * * [Makefile: 1331: install recursive] Error 1
Make [3]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/3rd party/openmix/src'
Make [2]: * * * [Makefile: 857: install recursive] Error 1
Make [2]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/3rd party/openmix'
Make [1]: * * * [Makefile: 1403: install recursive] Error 1
Make [1]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/3rd party'
Make: * * * [Makefile: 1530: install recursive] Error 1
Is there a problem with my compilation method?
The compiler I am using is HPCSDK23.1
The device used is Jetson Orin 32GB
Let me ask the folks that do our OpenMPI builds for our recipe. Though I’m not sure they’ve done anything with OpenMPI 5.0 since it’s not been released yet, just release candidates.
Though the error appears that libtool can’t find pgcc. Do you have the compiler bin directory in your PATH?
-Mat
My bashrc file displays as follows
export PATH=/usr/local/cuda-11.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH
#export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
MANPATH=$MANPATH:/opt/nvidia/hpc_sdk/Linux_aarch64/23.1/compilers/man; export MANPATH
PATH=/opt/nvidia/hpc_sdk/Linux_aarch64/23.1/compilers/bin:$PATH; export PATH
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/cuda-11.4/targets/aarch64-linux/include
export PATH=/opt/nvidia/hpc_sdk/Linux_aarch64/23.1/comm_libs/mpi/bin:$PATH
export MANPATH=$MANPATH:/opt/nvidia/hpc_sdk/Linux_aarch64/23.1/comm_libs/mpi/man
#export PATH="$PATH:/usr/local/openmpi/bin"
#export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"
#export PATH=/usr/local/openmpi/bin:$PATH
#export MANPATH=$MANPATH:/usr/local/openmpi/man
export NV_ACC_TIME=1
#export NV_ACC_DEBUG=1
I only added the commands required for HPCSDK to bashrc
I’m not sure why libtool can’t find pgcc, it should be located under “/opt/nvidia/hpc_sdk/Linux_aarch64/23.1/compilers/bin”.
Maybe set “CC=/opt/nvidia/hpc_sdk/Linux_aarch64/23.1/compilers/bin/pgcc”?
Perhaps there was a problem with my installation. I just reinstalled it again
Making install in config
Make [1]: Enter the directory '/home/orin/Downloads/openmpi-5.0.0rc11/config'
Make [2]: Enter the directory '/home/orin/Downloads/openmpi-5.0.0rc11/config'
Make [2]: No need to do anything for 'install exec am'.
Make [2]: No need to do anything for 'install data am'.
Make [2]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/config'
Make [1]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/config'
Making install in contrib
Make [1]: Enter the directory '/home/orin/Downloads/openmpi-5.0.0rc11/contrib'
Make [2]: Enter the directory '/home/orin/Downloads/openmpi-5.0.0rc11/contrib'
Make [2]: No need to do anything for 'install exec am'.
/usr/bin/mkdir -p '/usr/local/openmpi/share/openmpi/amca-param-sets'
/usr/bin/install -c -m 644 amca-param-sets/example.conf amca-param-sets/ft-mpi '/usr/local/openmpi/share/openmpi/amca-param-sets'
/Usr/bin/install: Unable to delete '/usr/local/openmpi/share/openmpi/amca param sets/example. conf': Insufficient permissions
/Usr/bin/install: Unable to delete '/usr/local/openmpi/share/openmpi/amca param sets/ft mpi': Insufficient permissions
Make [2]: * * * [Makefile: 1456: install dist_amca_paramDATA] Error 1
Make [2]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/contrib'
Make [1]: * * * [Makefile: 1548: install am] Error 2
Make [1]: Leave the directory '/home/orin/Downloads/openmpi-5.0.0rc11/contrib'
Make: * * * [Makefile: 1530: install recursive] Error 1
Previously, I used to use sudo make install
I just ran it again using make install
I’m not sure if it would be helpful to you
I set the absolute path as you mentioned, and the installation was successful. The code is as follows
./configure CC=/opt/nvidia/hpc_ sdk/Linux_ aarch64/23.1/compilers/bin/pgcc CXX=pgCC FC=/opt/nvidia/hpc_ sdk/Linux_ aarch64/23.1/compilers/bin/pgf77 F90=/opt/nvidia/hpc_ sdk/Linux_ aarch64/23.1/compilers/bin/pgf90 --prefix=/usr/local/openmpi
Thank you very much, Mat