- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I wish to use open-mpi for best performance of academic research.
I downloaded open-mpi 1.6 and ran on my terminal the command:
hugo@remotebatcomputer:~/openmpi-1.6$ ./configure --prefix=/usr/local/ FC=gnuplot
This step went out without problems. But, if I use:
hugo@remotebatcomputer:~/openmpi-1.6$ ./configure --prefix=/usr/local/ FC=ifort
This returned me the error:
**********************************************************************
* It appears that your Fortran compiler is unable to produce working
* executables. A simple test application failed to properly
* execute. Note that this is likely not a problem with Open MPI,
* but a problem with the local compiler installation. More
* information (including exactly what command was given to the
* compiler and what error resulted when the command was executed) is
* available in the config.log file in this directory.
**********************************************************************
configure: error: Could not run a simple Fortran program. Aborting.
How can I fix this??
As a comment, I cannot compile using only ifort. If I restart my computer
before compiling a program I must execute:
source /opt/intel/bin/compilervars.sh ia32
After this, the compiling process execute without problem.
P.D.
I'm a scientist student, not experimented on programation topics
I wish to use open-mpi for best performance of academic research.
I downloaded open-mpi 1.6 and ran on my terminal the command:
hugo@remotebatcomputer:~/openmpi-1.6$ ./configure --prefix=/usr/local/ FC=gnuplot
This step went out without problems. But, if I use:
hugo@remotebatcomputer:~/openmpi-1.6$ ./configure --prefix=/usr/local/ FC=ifort
This returned me the error:
**********************************************************************
* It appears that your Fortran compiler is unable to produce working
* executables. A simple test application failed to properly
* execute. Note that this is likely not a problem with Open MPI,
* but a problem with the local compiler installation. More
* information (including exactly what command was given to the
* compiler and what error resulted when the command was executed) is
* available in the config.log file in this directory.
**********************************************************************
configure: error: Could not run a simple Fortran program. Aborting.
How can I fix this??
As a comment, I cannot compile using only ifort. If I restart my computer
before compiling a program I must execute:
source /opt/intel/bin/compilervars.sh ia32
After this, the compiling process execute without problem.
P.D.
I'm a scientist student, not experimented on programation topics
Link Copied
11 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
After entering the "source ...compilervars.sh..." command, run the Configure script in the same shell. That way, the configure script will find the Intel compiler when it probes the computer to see if the specified Fortran compiler is useable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you intend to run across a cluster, you will need to set up so that your shells open with your compiler and MPI paths set anyway, so it's probably good for you to practice adding the source compilervars to your shell startup. Think about what you will do when you update your installation and may need to edit this stuff.
Unless you own the entire cluster and will run only the one installation of OpenMP, it's a bad idea to configure that to install in /usr/local/ just to avoid setting the correct PATHs.
You really can't avoid dealing with some basic linux issues (or Windows.... as the case may be) if you are going into cluster computing.
Your results with OpenMPI will be only as good as the planning you put into it. OpenMPI is less automatic than some others. You have only to read the Intel ads to see how much it loses if you don't study the correct parameters. They have good FAQs on how to use Intel compilers. Consider them.
Unless you own the entire cluster and will run only the one installation of OpenMP, it's a bad idea to configure that to install in /usr/local/ just to avoid setting the correct PATHs.
You really can't avoid dealing with some basic linux issues (or Windows.... as the case may be) if you are going into cluster computing.
Your results with OpenMPI will be only as good as the planning you put into it. OpenMPI is less automatic than some others. You have only to read the Intel ads to see how much it loses if you don't study the correct parameters. They have good FAQs on how to use Intel compilers. Consider them.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're right, I done what you said and that went without problem.
Now I have a little nasty error if I execute "make all install"
So the installation is not fulfilled, any idea what's happening?
The message error is:
...
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/tools/ompi-profiler
CC ompi-profiler.o
ompi-profiler.c: In function main:
ompi-profiler.c:271: warning: ignoring return value of asprintf, declared with attribute warn_unused_result
ompi-profiler.c:276: warning: ignoring return value of asprintf, declared with attribute warn_unused_result
ompi-profiler.c:279: warning: ignoring return value of asprintf, declared with attribute warn_unused_result
CCLD ompi-profiler
Creating ompi-profiler.1 man page...
make[2]: se sale del directorio /home/hugo/openmpi-1.6/ompi/tools/ompi-profiler
make[1]: se sale del directorio /home/hugo/openmpi-1.6/ompi
Making all in test
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6/test
Making all in support
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/support
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/support
Making all in asm
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/asm
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/asm
Making all in class
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/class
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/class
Making all in threads
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/threads
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/threads
Making all in datatype
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/datatype
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/datatype
Making all in util
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/util
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/util
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test
make[2]: No se hace nada para all-am.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test
make[1]: se sale del directorio /home/hugo/openmpi-1.6/test
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6
make[1]: No se hace nada para all-am.
make[1]: se sale del directorio /home/hugo/openmpi-1.6
Making install in config
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6/config
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/config
make[2]: No se hace nada para install-exec-am.
make[2]: No se hace nada para install-data-am.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/config
make[1]: se sale del directorio /home/hugo/openmpi-1.6/config
Making install in contrib
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6/contrib
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/contrib
make[2]: No se hace nada para install-exec-am.
test -z "/usr/local/share/openmpi/amca-param-sets" || /bin/mkdir -p "/usr/local/share/openmpi/amca-param-sets"
/bin/mkdir: no se puede crear el directorio /usr/local/share/openmpi: Permiso denegado
make[2]: *** [install-dist_amca_paramDATA] Error 1
make[2]: se sale del directorio /home/hugo/openmpi-1.6/contrib
make[1]: *** [install-am] Error 2
make[1]: se sale del directorio /home/hugo/openmpi-1.6/contrib
make: *** [install-recursive] Error 1
Now I have a little nasty error if I execute "make all install"
So the installation is not fulfilled, any idea what's happening?
The message error is:
...
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/tools/ompi-profiler
CC ompi-profiler.o
ompi-profiler.c: In function main:
ompi-profiler.c:271: warning: ignoring return value of asprintf, declared with attribute warn_unused_result
ompi-profiler.c:276: warning: ignoring return value of asprintf, declared with attribute warn_unused_result
ompi-profiler.c:279: warning: ignoring return value of asprintf, declared with attribute warn_unused_result
CCLD ompi-profiler
Creating ompi-profiler.1 man page...
make[2]: se sale del directorio /home/hugo/openmpi-1.6/ompi/tools/ompi-profiler
make[1]: se sale del directorio /home/hugo/openmpi-1.6/ompi
Making all in test
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6/test
Making all in support
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/support
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/support
Making all in asm
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/asm
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/asm
Making all in class
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/class
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/class
Making all in threads
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/threads
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/threads
Making all in datatype
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/datatype
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/datatype
Making all in util
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test/util
make[2]: No se hace nada para all.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test/util
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/test
make[2]: No se hace nada para all-am.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/test
make[1]: se sale del directorio /home/hugo/openmpi-1.6/test
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6
make[1]: No se hace nada para all-am.
make[1]: se sale del directorio /home/hugo/openmpi-1.6
Making install in config
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6/config
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/config
make[2]: No se hace nada para install-exec-am.
make[2]: No se hace nada para install-data-am.
make[2]: se sale del directorio /home/hugo/openmpi-1.6/config
make[1]: se sale del directorio /home/hugo/openmpi-1.6/config
Making install in contrib
make[1]: se ingresa al directorio /home/hugo/openmpi-1.6/contrib
make[2]: se ingresa al directorio /home/hugo/openmpi-1.6/contrib
make[2]: No se hace nada para install-exec-am.
test -z "/usr/local/share/openmpi/amca-param-sets" || /bin/mkdir -p "/usr/local/share/openmpi/amca-param-sets"
/bin/mkdir: no se puede crear el directorio /usr/local/share/openmpi: Permiso denegado
make[2]: *** [install-dist_amca_paramDATA] Error 1
make[2]: se sale del directorio /home/hugo/openmpi-1.6/contrib
make[1]: *** [install-am] Error 2
make[1]: se sale del directorio /home/hugo/openmpi-1.6/contrib
make: *** [install-recursive] Error 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you use
sudo make install
or equivalent? It looks like you didn't gain write permission on your designated install directories. I hope your Spanish is better than mine, if you chose to set your linux environment that way.
sudo make install
or equivalent? It looks like you didn't gain write permission on your designated install directories. I hope your Spanish is better than mine, if you chose to set your linux environment that way.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/configure --prefix=/usr/local/
If this is your machine (or you know your root password) you can do
su -c "make install"
or
sudo make install
to install openmpi. If not, you can choose another directory where you have write permissions. ~/bin or something of the kind, like:
/configure --prefix=/home/hugo/openmpi
for instance...
On another note, if youre you Linux, what distribution are you using?
If this is your machine (or you know your root password) you can do
su -c "make install"
or
sudo make install
to install openmpi. If not, you can choose another directory where you have write permissions. ~/bin or something of the kind, like:
/configure --prefix=/home/hugo/openmpi
for instance...
On another note, if youre you Linux, what distribution are you using?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It appears that I have a problem using the "sudo" prefix, when I do this I get:
sudo: unable to resolve host
I search on the net and the solution that I found was to edit the script hosts, I
changed the line:
#127.0.1.1 ubuntu.ubuntu-domain ubuntu
For:
127.0.1.1 ubuntu
Then I rebooted my pc but I still get the same problem. How can I fix this?
I'm using:
Ubuntu 10.04, If I call recall right...
sudo: unable to resolve host
I search on the net and the solution that I found was to edit the script hosts, I
changed the line:
#127.0.1.1 ubuntu.ubuntu-domain ubuntu
For:
127.0.1.1 ubuntu
Then I rebooted my pc but I still get the same problem. How can I fix this?
I'm using:
Ubuntu 10.04, If I call recall right...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you aren't set up for sudo, you (or an administrator) must add you to the list in /etc/sudoers.
As suggested, if you can't gain privilege in /usr/local, you should reconfigure openmpi so as to install where you do have privilege.
As suggested, if you can't gain privilege in /usr/local, you should reconfigure openmpi so as to install where you do have privilege.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried all the four options:
sudo make install
sudo make all install
su -c "make all install"
and the last was...
./configure --prefix=/home/hugo/openmpi
and then...
sudo make all install
The last piece of the error message is:
=======================================================================
make all-recursive
make[3]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
Making all in scripts
make[4]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/mpi/f90/scripts
make[4]: No se hace nada para all.
make[4]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90/scripts
make[4]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
./scripts/mpi_sizeof.f90.sh /home/hugo/openmpi-1.6/ompi/mpi/f90 > mpi_sizeof.f90
FC mpi_sizeof.lo
fortcom: No such file or directory
ifort: error #10273: Fatal error in fortcom, terminated by 0x64
make[4]: *** [mpi_sizeof.lo] Error 1
make[4]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
make[2]: *** [all] Error 2
make[2]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio /home/hugo/openmpi-1.6/ompi
make: *** [all-recursive] Error 1
======================================================================
And I can notice the lines:
fortcom: No such file or directory
ifort: error #10273: Fatal error in fortcom, terminated by 0x64
But I executed previously the command: source ifortvars.sh ia32!
Now I'm lost, I don't know if the current problem is with the sudo topic or it has something to do with the INtel compiler :S
sudo make install
sudo make all install
su -c "make all install"
and the last was...
./configure --prefix=/home/hugo/openmpi
and then...
sudo make all install
The last piece of the error message is:
=======================================================================
make all-recursive
make[3]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
Making all in scripts
make[4]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/mpi/f90/scripts
make[4]: No se hace nada para all.
make[4]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90/scripts
make[4]: se ingresa al directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
./scripts/mpi_sizeof.f90.sh /home/hugo/openmpi-1.6/ompi/mpi/f90 > mpi_sizeof.f90
FC mpi_sizeof.lo
fortcom: No such file or directory
ifort: error #10273: Fatal error in fortcom, terminated by 0x64
make[4]: *** [mpi_sizeof.lo] Error 1
make[4]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
make[2]: *** [all] Error 2
make[2]: se sale del directorio /home/hugo/openmpi-1.6/ompi/mpi/f90
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio /home/hugo/openmpi-1.6/ompi
make: *** [all-recursive] Error 1
======================================================================
And I can notice the lines:
fortcom: No such file or directory
ifort: error #10273: Fatal error in fortcom, terminated by 0x64
But I executed previously the command: source ifortvars.sh ia32!
Now I'm lost, I don't know if the current problem is with the sudo topic or it has something to do with the INtel compiler :S
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You may have to set the ifort environment under sudo, e.g.
sudo su -
...
source ifortvars....
make install
sudo su -
...
source ifortvars....
make install
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The "no such file or directory" is saying that it cannot locate mpi_sizeof.lo, whatever that is. It is not that the compiler could not be found.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I ignore all these building mpi warnings and I compile my program I get
mpif90: error while loading shared libraries: libopen-pal.so.4: cannot open shared object file: No such file or directory
But I know that the file is there because if I type:
hugo@remotebatcomputer:~/Documentos/proyecto-maestria/program_29_may_12$ whereis libopen-pal.so.4
libopen-pal.so: /usr/local/lib/libopen-pal.so.4 /usr/local/lib/libopen-pal.so
And I know the path to the library is right because on my makefile I have:
MPI_LIBS = -L/usr/local/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -llibopen-pal -lutil \
-L/opt/homebrew/lib
How can I tell to the mpi compiler where is this file?
By the way, I tried on my shell:
hugo@remotebatcomputer:~/Documentos/proyecto-maestria/program_29_may_12$ echo $PATH
/opt/intel/composer_xe_2011_sp1.10.319/bin/ia32:/home/hugo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/lib/:/usr/local/bin/:/opt/intel/composer_xe_2011_sp1.10.319/mpirt/bin/ia32
I added manually to my path the directories /usr/local/lib and /usr/local/bin
Still I'm getting the not found problem
mpif90: error while loading shared libraries: libopen-pal.so.4: cannot open shared object file: No such file or directory
But I know that the file is there because if I type:
hugo@remotebatcomputer:~/Documentos/proyecto-maestria/program_29_may_12$ whereis libopen-pal.so.4
libopen-pal.so: /usr/local/lib/libopen-pal.so.4 /usr/local/lib/libopen-pal.so
And I know the path to the library is right because on my makefile I have:
MPI_LIBS = -L/usr/local/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -llibopen-pal -lutil \
-L/opt/homebrew/lib
How can I tell to the mpi compiler where is this file?
By the way, I tried on my shell:
hugo@remotebatcomputer:~/Documentos/proyecto-maestria/program_29_may_12$ echo $PATH
/opt/intel/composer_xe_2011_sp1.10.319/bin/ia32:/home/hugo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/lib/:/usr/local/bin/:/opt/intel/composer_xe_2011_sp1.10.319/mpirt/bin/ia32
I added manually to my path the directories /usr/local/lib and /usr/local/bin
Still I'm getting the not found problem

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page