LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 02-14-2009, 03:06 PM   #1
The_Watcher
Member
 
Registered: Mar 2007
Location: London
Posts: 40

Rep: Reputation: 15
Cool mpif90 download on linux and related issues


Hi.

[1]
I have downloaded mpif77, which is a parallel wrapper for g77, onto my 64-bit RHEL workstation. It works ok, after I boot with 'lamboot'.

However, I at some point I seem to have lost the use of gfortran (an f95 compiler) on my machine; when I compile a simple code like:

PROGRAM GGG
DOUBLE PRECISION A
A = 20.D0
PRINT*, A
STOP
END PROGRAM GGG

with:
gfortran -O3 -o ggg ggg.f90
I get:
ld: crtbegin.o: No such file: No such file or directory.

Can someone tell me why? Have I overwritten something important?
Is it safe to re-install gfortran?
How do I re-install gfortran?

Incidentally, I had previously downloaded ifort, which is also an f95 compiler, and this compiles ok, and my codes run fine.


[2]
I want to install mpif90, or equivalent, which is the f95 version of mpif77 (I think?). At the moment I am using the 'ifort' as the base compiler, hoping that it will compile ok. My make file is as follows:

# MAKEFILE FOR PARALELL EXECUTABLE OBJECT FOR "pards".

F90 = ifort
FFLAGS = -u -O3 -i8 -r8 -align all -check -fast -fp-model fast=1 -funroll-loops

#FFLAGS = -O3 -fno-second-underscore -fno-silent -Wimplicit -Wall
#F90 = /usr/local/encap/mpich-1.2.4..8a-intel/bin/mpif90
#F90LINKER = /usr/local/encap/mpich-1.2.4..8a-intel/bin/mpif90

#LIBS= -lencap -liberty -lptcblas -lgm -lcblas -lblacsCinit -lblacs \
# -lblacsF77init -lscalapack

SRC = nrtype.f90 nr.f90 nrutil.f90 parameters_global.f90 chemical_kinetics.f90 loop_counters.f90 \
general_variables.f90 scalar_coefficients.f90 mpinpb.f90 \
setup_mpi.f90 initialise.f90 block_begin.f90 fops.f90 plotout.f90 \
CATALYST_FLOW_P4.f90 config.f90 calcp.f90 mesh.f90 read_data.f90 \
lisolv.f90 sites.f90 numsp.f90 strips.f90 bdycon.f90 flows.f90 \
props.f90 transport.f90 lights.f90 corvel.f90 enth.f90 ststep.f90 \
fndkey.f90 specnum.f90 rates.f90 ratec.f90 comrat.f90 comrac.f90 \
numcon.f90 coefuv.f90 etest.f90 stest.f90 mtest.f90 energy.f90 \
dec.f90 decbt.f90 sol.f90 solbt.f90 sweepc.f90 sweeph.f90 sweepv.f90 \
encoef.f90 stephv.f90 specsol.f90 spcoef.f90 ensour.f90 heatf.f90 \
tridag.f90 unstdy.f90 timept.f90 movie.f90 mread.f90 vread.f90

OBJS =$(SRC:.f90=.o)

# target definitions

.SUFFIXES: .f90
.f90.o:
$(F90) $(FFLAGS) -c $<

pards: $(OBJS)
$(F90) $(OBJS) $(FFLAGS) -o pards



There are several problems:

(1) although I have the basic f95 libraries nrtype.f90, nrutil.f90, nr.f90, I have to copy them into the working directory and compile every time together with my source code. This is unsatisfactory -- how do I get it automatically into my codes?

(2) I get a series of warnings (not errors) regarding subroutines in nr.f90. For example,

ifort -u -O3 -i8 -r8 -align all -check -fast -fp-model fast=1 -funroll-loops -c nr.f90
fortcom: Warning: nr.f90, line 953: The type/rank/keyword signature for this specific procedure match es another specific procedure that shares the same generic-name. [FOUR1_SP]
SUBROUTINE four1_sp(data,isign)
---------------------------^
fortcom: Warning: nr.f90, line 1030: The type/rank/keyword signature for this specific procedure matc hes another specific procedure that shares the same generic-name. [FOURROW_SP]
SUBROUTINE fourrow_sp(data,isign)
---------------------------^


What does this mean?

(3) All my subroutines compile ok; but when it is linking all together I get:

ifort nrtype.o nr.o nrutil.o parameters_global.o chemical_kinetics.o loop_counters.o general_variables.o scalar_coefficients.o mpinpb.o setup_mpi.o initialise.o block_begin.o fops.o plotout.o CATALYST_FLOW_P4.o config.o calcp.o mesh.o read_data.o lisolv.o sites.o numsp.o strips.o bdycon.o flows.o props.o transport.o lights.o corvel.o enth.o ststep.o fndkey.o specnum.o rates.o ratec.o comrat.o comrac.o numcon.o coefuv.o etest.o stest.o mtest.o energy.o dec.o decbt.o sol.o solbt.o sweepc.o sweeph.o sweepv.o encoef.o stephv.o specsol.o spcoef.o ensour.o heatf.o tridag.o unstdy.o timept.o movie.o mread.o vread.o -u -O3 -i8 -r8 -align all -check -fast -fp-model fast=1 -funroll-loops -o pards
ipo: warning #11041: unresolved mpi_init_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_comm_rank_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_comm_split_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_comm_size_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_comm_dup_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_finalize_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_reduce_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_bcast_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: warning #11041: unresolved mpi_barrier_
Referenced in /tmp/ipo_ifortA9f4Bz.o
ipo: remark #11000: performing multi-file optimizations
ipo: remark #11005: generating object file /tmp/ipo_ifortA9f4Bz.o



Clearly, it is not recognising the mpi parallel instructions, like mpi_comm_rank, and mpi_bcast etc.


This is repeated at the very end,

/tmp/ipo_ifortA9f4Bz.o(.text+0xf4d): In function `MAIN__':
: undefined reference to `mpi_finalize_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x5590e): In function `stest_':
: undefined reference to `mpi_reduce_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x55947): In function `stest_':
: undefined reference to `mpi_reduce_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x5597d): In function `stest_':
: undefined reference to `mpi_reduce_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x559b5): In function `stest_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x559ed): In function `stest_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x55a1f): In function `stest_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x68c1c): In function `sweeph_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x68c52): In function `sweeph_':
: undefined reference to `mpi_barrier_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x83633): In function `sweepc_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x83739): In function `sweepc_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x83767): In function `sweepc_':
: undefined reference to `mpi_barrier_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x9c972): In function `sweepv_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x9cb43): In function `sweepv_':
: undefined reference to `mpi_bcast_'
/tmp/ipo_ifortA9f4Bz.o(.text+0x9cb7f): In function `sweepv_':
: undefined reference to `mpi_barrier_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa1c8): In function `setup_mpi_':
: undefined reference to `mpi_init_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa1dd): In function `setup_mpi_':
: undefined reference to `mpi_comm_size_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa1f2): In function `setup_mpi_':
: undefined reference to `mpi_comm_rank_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa2cd): In function `setup_mpi_':
: undefined reference to `mpi_comm_split_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa2f3): In function `setup_mpi_':
: undefined reference to `mpi_comm_size_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa308): In function `setup_mpi_':
: undefined reference to `mpi_comm_dup_'
/tmp/ipo_ifortA9f4Bz.o(.text+0xaa31d): In function `setup_mpi_':
: undefined reference to `mpi_comm_dup_'
make: *** [pards] Error 1


How do I rectify this?
Do I have to download mpif90?
Is it safe to download mpif90 without overwriting anything else, like gfortran, mpif77, etc?
DO I have to swap from lam_mpi to mpich? (Is there much difference.)

Thank you. I apologies for these rather simple questions -- as will note I regard myself as a newbie on linux.

Regards
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Free Download Book related Linux rr_rr_29 General 2 02-18-2006 06:26 AM
hdd-related download problem(upload 4-5MB/s, download ~1MB/s) tine Linux - Hardware 4 09-15-2004 03:06 PM
What kernel related files do I need to download? jspaceman Slackware 4 06-16-2004 01:29 PM
[NOT REALLY LINUX RELATED] How do i fix loopback issues? vbp6us Linux - General 3 04-20-2003 01:55 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:05 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration