Open pierre-jeanne opened 1 year ago
Did the configure process actually fail? What I see using the same ifort version in that area of the config.log is
configure:28914: checking whether the compiler supports GNU Fortran
configure:28928: ifort -c conftest.F >&5
conftest.F(3): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( : % [ . = =>
choke me
---------------^
conftest.F(3): error #6218: This statement is positioned incorrectly and/or has syntax errors.
choke me
-------^
compilation aborted for conftest.F (code 1)
configure:28928: $? = 1
configure: failed program was:
| program main
| #ifndef __GNUC__
| choke me
| #endif
|
| end
configure:28938: result: no
configure:28946: checking whether ifort accepts -g
configure:28958: ifort -c -g conftest.f >&5
configure:28958: $? = 0
configure:28967: result: yes
configure:29002: checking for BSD- or MS-compatible name lister (nm)
configure:29057: result: /usr/bin/nm -B
configure:29197: checking the name lister (/usr/bin/nm -B) interface
configure:29205: icc -c -DNDEBUG -O2 -finline-functions -restrict conftest.c >&5
configure:29208: /usr/bin/nm -B "conftest.o"
configure:29211: output
0000000000000000 B some_variable
configure:29218: result: BSD nm
configure:29265: WARNING: Open MPI now ignores the F77 and FFLAGS environment variables; only the FC and FCFLAGS environment variables are used.
configure:29275: checking whether ln -s works
configure:29279: result: yes
configure:29341: checking if Fortran compiler works
configure:29373: ifort -o conftest conftest.f >&5
configure:29373: $? = 0
configure:29373: ./conftest
configure:29373: $? = 0
configure:29390: result: yes
configure:29418: checking for extra arguments to build a shared library
configure:29441: result: none needed
configure:29455: checking for ifort warnings flags
configure:29470: result: none
configure:29484: checking for Fortran flag to compile .f files
configure:29505: ifort -c conftest.f >&5
configure:29505: $? = 0
configure:29515: result: none
configure:29541: checking for Fortran flag to compile .f90 files
configure:29562: ifort -c conftest.f90 >&5
configure:29562: $? = 0
configure:29572: result: none
configure:29601: checking if Fortran compilers preprocess .F90 files without additional flag
configure:29611: ifort -c conftest_f.F90
configure:29614: $? = 0
configure:29617: result: yes
configure:29653: checking to see if Fortran compilers need additional linker flags
configure:29729: result: none
its normal for some (many) configure tests to fail, but for most checks it should continue on.
It did fail, but I was expecting to see the file mpifort created in /opt/openmpi/openmpi-5.0.0/bin/mpifort.
so because mpifort is not there, so I suppose the configuration didn't work ...
Sorry, for not being very clear... yes it didn't fail. I have the exact same output as you. However, the file 'mpifort' was not created in the bin file and in need this file to compile something with PETSC.
@pierre-jeanne Can you send all the information listed in https://docs.open-mpi.org/en/v5.0.x/getting-help.html#for-problems-building-or-installing-open-mpi ?
if you trapped the output (not the config.log) from the configure did you see something like this near the end of that output:
Open MPI configuration:
-----------------------
Version: 5.0.0
MPI Standard Version: 3.1
Build MPI C bindings: yes
Build MPI Fortran bindings: mpif.h, use mpi, use mpi_f08
Build MPI Java bindings (experimental): no
Build Open SHMEM support: false (no spml)
Debug build: no
Platform file: (none)
in particular what was reported for Fortran bindings? Also, you can add
--enable-mpi-fortran
as a configure option and if for some reason configure doesn't think it can support fortran the configure will stop with hopefully a useful message about why fortran bindings aren't getting built.
@hppritcha thank you for your help.
I tried to compiled it with --enable-mpi-fortran
Version: 5.0.0 MPI Standard Version: 3.1 Build MPI C bindings: yes Build MPI Fortran bindings: mpif.h, use mpi, use mpi_f08 Build MPI Java bindings (experimental): no Build Open SHMEM support: false (no spml) Debug build: no Platform file: (none)
and still the file 'mpifort' was not created in the bin file
@pierre-jeanne Rather than go back and forth more times, can you send all the information listed in https://docs.open-mpi.org/en/v5.0.x/getting-help.html#for-problems-building-or-installing-open-mpi ?
ompi-output.zip Hello @jsquyres thank you for helping me..here are the files
@pierre-jeanne It looks like your make
failed pretty much immediately, so Open MPI didn't actually build:
make[5]: Entering directory '/home/.../Downloads/openmpi-5.0.0/3rd-party/openpmix/src/include'
depbase=`echo pmix_globals.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool --tag=CC --mode=compile icx -DHAVE_CONFIG_H -I. -I../../include -iquote/home/...\
/Downloads/openmpi-5.0.0/3rd-party/openpmix -iquote/home/.../Downloads/openmpi-5.0.0/3rd-party/openpmix/src -\
I/home/.../Downloads/openmpi-5.0.0/3rd-party/openpmix/include -DPMIX_PROXY_VERSION_STRING="\"4.2.7a1\"" -DP\
MIX_PROXY_BUGREPORT_STRING="\"https://github.com/openpmix/openpmix\"" -DNDEBUG -O2 -fPIC -Wno-unused-paramet\
er -finline-functions -mcx16 -MT pmix_globals.lo -MD -MP -MF $depbase.Tpo -c -o pmix_globals.lo pmix_globals\
.c &&\
mv -f $depbase.Tpo $depbase.Plo
rm: cannot remove '.libs/pmix_globals.o': Permission denied
libtool: compile: icx -DHAVE_CONFIG_H -I. -I../../include -iquote/home/.../Downloads/openmpi-5.0.0/3rd-party\
/openpmix -iquote/home/.../Downloads/openmpi-5.0.0/3rd-party/openpmix/src -I/home/.../Downloads/openmpi-5.0.0\
/3rd-party/openpmix/include -DPMIX_PROXY_VERSION_STRING=\"4.2.7a1\" -DPMIX_PROXY_BUGREPORT_STRING=\"https://g\
ithub.com/openpmix/openpmix\" -DNDEBUG -O2 -fPIC -Wno-unused-parameter -finline-functions -mcx16 -MT pmix_glo\
bals.lo -MD -MP -MF .deps/pmix_globals.Tpo -c pmix_globals.c -fPIC -DPIC -o .libs/pmix_globals.o
error: unable to open output file '.libs/pmix_globals.o': 'Operation not permitted'
1 error generated.
make[5]: *** [Makefile:808: pmix_globals.lo] Error 1
Looks like some kind of permission problem. Perhaps you accidentally have some files owned by root, and you're building as a different user?
No I am the only user... do you know how I can fix that?
If you're relatively new to the command line, the simplest thing might be to remove the Open MPI 5.0.0 source tree and start over from scratch (i.e., expand the Open MPI 5.0.0 tarball again, run configure again, and run make again).
I do note one thing, however: you said you ran ./configure --prefix=/opt/openmpi-5.0.0 FC=ifort FFLAGS=-O2 CC=icx CFLAGS=-O2 --enable-static --disable-shared
, but your config.log
file shows that you missed a space between these two arguments: --disable-shared--enable-mpi-fortran
. Be careful of that -- missing that space means that those 2 arguments are effectively ignored.
Also, if your goal is to build static MPI applications, note that this is not for the meek; it can get fairly complicated. Be sure that this is what you actually want to do. You should read https://docs.open-mpi.org/en/v5.0.x/building-apps/building-static-apps.html.
@pierre-jeanne Did this address your question? Should we close this issue?
Thank you for taking the time to submit an issue!
Background information
I am woking with Ubuntu 22.04.3 LTS I am trying to configure openMPI 5.0.0 with ifort and icx. I have just installed intel oneapi toolkit and HPC. i tried configuring openmpi with: ./configure --prefix=/opt/openmpi-5.0.0 FC=ifort FFLAGS=-O2 CC=icx CFLAGS=-O2 --enable-static --disable-shared
and here is the message error in the configuration.log:
configure:28894: ifort -v >&5 ifort version 2021.11.0 configure:28905: $? = 0 configure:28894: ifort -V >&5 Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.11.0 Build 20231010_000000 Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
configure:28905: $? = 0 configure:28894: ifort -qversion >&5 ifort: command line warning #10006: ignoring unknown option '-qversion' ifort: command line error: no files specified; for help type "ifort -help" configure:28905: $? = 1 configure:28914: checking whether the compiler supports GNU Fortran configure:28928: ifort -c conftest.F >&5 conftest.F(3): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( : % [ . = => choke me ---------------^ conftest.F(3): error #6218: This statement is positioned incorrectly and/or has syntax errors. choke me -------^ compilation aborted for conftest.F (code 1) configure:28928: $? = 1 configure: failed program was: | program main
how can I fix that? Thanks,
Pierre