- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I installed ifc 7.0(with the latest patches) on a dual Pentium IV(Xeons) running on Kernel 2.4.18-3smp
with glibc-2.2.5-34
I compiled mpich 1.2.5 from http://www-unix.mcs.anl.gov/mpi/mpich/
with configure options
./configure --enable-f90modules --prefix=/apps/mpich-1.2.5ifc -cc=icc -fc=ifc -f90=ifc -c++=icc -rsh=ssh --enable-sharedlib
I compiled and did the testing.
All the tests pass excepts for f90
It fails for examples/basic/pi3f90.f90
mpif90 -c pi3f90.f90
program MAIN
ifc: error: Fatal error in /apps/intel/compiler70/ia32/bin/f90com, terminated by segmentation violation
compilation aborted for pi3f90.f90 (code 1)
make[1]: *** [pi3f90.o] Error 1
make: *** [default] Error 2
All the other codes(C,C++,F77) work fine except for any F90/F95 codes.
Any help will be apreciated.
-VG
I installed ifc 7.0(with the latest patches) on a dual Pentium IV(Xeons) running on Kernel 2.4.18-3smp
with glibc-2.2.5-34
I compiled mpich 1.2.5 from http://www-unix.mcs.anl.gov/mpi/mpich/
with configure options
./configure --enable-f90modules --prefix=/apps/mpich-1.2.5ifc -cc=icc -fc=ifc -f90=ifc -c++=icc -rsh=ssh --enable-sharedlib
I compiled and did the testing.
All the tests pass excepts for f90
It fails for examples/basic/pi3f90.f90
mpif90 -c pi3f90.f90
program MAIN
ifc: error: Fatal error in /apps/intel/compiler70/ia32/bin/f90com, terminated by segmentation violation
compilation aborted for pi3f90.f90 (code 1)
make[1]: *** [pi3f90.o] Error 1
make: *** [default] Error 2
All the other codes(C,C++,F77) work fine except for any F90/F95 codes.
Any help will be apreciated.
-VG
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I suggest trying it with 7.1, which is the current version.
Steve
Steve
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is not the version problem of ifc.
To fix this ,edit the source code of pi3f90.f90
change the code "use mpi" to "include 'mpif.h' "
it will ok!
To fix this ,edit the source code of pi3f90.f90
change the code "use mpi" to "include 'mpif.h' "
it will ok!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I also meet this problem. If I keep "use mpi", I got the following error message:
examples% mpif90 -c pi3f90.f90
program MAIN
Error FCE37 : Module MPI not found
f(a) = 4.d0 / (1.d0 + a*a)
^
Comment 18 at (31:pi3f90.f90) : The statement function is obsolescent in Fortran 95
sum = sum + f(x)
^
Comment 18 at (60:pi3f90.f90) : The statement function is obsolescent in Fortran 95
1 Error
compilation aborted for pi3f90.f90 (code 1)
While if I use "include 'mpi.h'", I got the following error message:
examples% mpif90 pi3f90.f90
program MAIN
integer*8 MPI_DISPLACEMENT_CURRENT
^
Warning 2 at (248:mpif.h) : Type size specifiers are an extension to standard Fortran 95
f(a) = 4.d0 / (1.d0 + a*a)
^
Comment 18 at (31:pi3f90.f90) : The statement function is obsolescent in Fortran 95
sum = sum + f(x)
^
Comment 18 at (60:pi3f90.f90) : The statement function is obsolescent in Fortran 95
346 Lines Compiled
pi3f90.o(.text+0x1b): In function `main':
: undefined reference to `mpi_init_'
pi3f90.o(.text+0x32): In function `main':
: undefined reference to `mpi_comm_rank_'
pi3f90.o(.text+0x49): In function `main':
: undefined reference to `mpi_comm_size_'
pi3f90.o(.text+0x153): In function `main':
: undefined reference to `mpi_bcast_'
pi3f90.o(.text+0x1fb): In function `main':
: undefined reference to `mpi_reduce_'
pi3f90.o(.text+0x28b): In function `main':
: undefined reference to `mpi_finalize_'
It seems that some PATH isn't right. But How to solve this problem? Thanks!
I also meet this problem. If I keep "use mpi", I got the following error message:
examples% mpif90 -c pi3f90.f90
program MAIN
Error FCE37 : Module MPI not found
f(a) = 4.d0 / (1.d0 + a*a)
^
Comment 18 at (31:pi3f90.f90) : The statement function is obsolescent in Fortran 95
sum = sum + f(x)
^
Comment 18 at (60:pi3f90.f90) : The statement function is obsolescent in Fortran 95
1 Error
compilation aborted for pi3f90.f90 (code 1)
While if I use "include 'mpi.h'", I got the following error message:
examples% mpif90 pi3f90.f90
program MAIN
integer*8 MPI_DISPLACEMENT_CURRENT
^
Warning 2 at (248:mpif.h) : Type size specifiers are an extension to standard Fortran 95
f(a) = 4.d0 / (1.d0 + a*a)
^
Comment 18 at (31:pi3f90.f90) : The statement function is obsolescent in Fortran 95
sum = sum + f(x)
^
Comment 18 at (60:pi3f90.f90) : The statement function is obsolescent in Fortran 95
346 Lines Compiled
pi3f90.o(.text+0x1b): In function `main':
: undefined reference to `mpi_init_'
pi3f90.o(.text+0x32): In function `main':
: undefined reference to `mpi_comm_rank_'
pi3f90.o(.text+0x49): In function `main':
: undefined reference to `mpi_comm_size_'
pi3f90.o(.text+0x153): In function `main':
: undefined reference to `mpi_bcast_'
pi3f90.o(.text+0x1fb): In function `main':
: undefined reference to `mpi_reduce_'
pi3f90.o(.text+0x28b): In function `main':
: undefined reference to `mpi_finalize_'
It seems that some PATH isn't right. But How to solve this problem? Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In examples which I have in front of me:
Compiling is done with the mpich include path made explicit:
ifc -I/mpich/include *.f
Where ifc is used as the link command for an mpich build, the libraries are specified explicitly e.g.:
ifc *.o -L/mpich/lib -lfmpich -lmpich
I am more used to lam-mpi, where the mpif77 and mpif90 commands are built with ifc and a specific path to the installation (specified in .configure) and carry inside them the information about mpi library paths. If you don't have the paths built into mpif90, or chose not to use it as the link command, you surely will need to specify the paths.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found out the path problem. But it seems that the function MPI_Wtime() doesn't work for.
mpif90 -o flash2 Cosmology.o .......... -L /usr/local/lib -lhdf5
flash.o(.text+0x1f): In function `main':
: undefined reference to `mpi_wtime_'
flash.o(.text+0x2d9): In function `main':
: undefined reference to `mpi_wtime_'
init_flash.o(.text+0x229): In function `init_flash_':
: undefined reference to `mpi_wtime_'
output.o(.text+0x2d9): In function `output_':
: undefined reference to `mpi_wtime_'
output.o(.text+0x420): In function `output_':
: undefined reference to `mpi_wtime_'
output.o(.text+0x51b): more undefined references to `mpi_wtime_' follow
make[1]: *** [flash2] Error 1
make[1]: Leaving directory `/usr/local/flash/sources/FLASH2.3/object'
make: *** [default] Error 2
Other mpi_(functions) are ok.
mpif90 -o flash2 Cosmology.o .......... -L /usr/local/lib -lhdf5
flash.o(.text+0x1f): In function `main':
: undefined reference to `mpi_wtime_'
flash.o(.text+0x2d9): In function `main':
: undefined reference to `mpi_wtime_'
init_flash.o(.text+0x229): In function `init_flash_':
: undefined reference to `mpi_wtime_'
output.o(.text+0x2d9): In function `output_':
: undefined reference to `mpi_wtime_'
output.o(.text+0x420): In function `output_':
: undefined reference to `mpi_wtime_'
output.o(.text+0x51b): more undefined references to `mpi_wtime_' follow
make[1]: *** [flash2] Error 1
make[1]: Leaving directory `/usr/local/flash/sources/FLASH2.3/object'
make: *** [default] Error 2
Other mpi_(functions) are ok.
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