PDA

View Full Version : LF95 installation / mpich configuration problem?


prn
05-14-2004, 08:34 PM
Hello,

I have mailed essentially the same question to support, but in case someone else has seen similar problems, I am going to ask here on the forum too.

Here at Ball State University, we just ordered and have received a copy of Lahey LF95 Express for Linux. I have registered the product.

I installed it on (the head node of) a Linux cluster running under Red Hat 8.0. I installed it in the default /usr/local/lf9562 directory exactly as described in the User's Guide (Revision D). I performed the test in /usr/local/lf9562/examples/fortran, as the guide specified, and it passed.

I extracted mpich-1.2.5 from the cd to /home/local/test/mpich-1.2.5 (The /home filesystem is mounted across all the nodes of the cluster and is also much larger, so it seemed like a reasonable place to do some testing.) I ran configure using the command from line 387 of the README file:

./configure -fc=lf95 -f90=lf95

I then ran make and changed to the /home/local/test/mpich-1.2.5/examples/basic directory, where I ran:

[root@ccncluster basic]# make fpi
/home/local/test/mpich-1.2.5/bin/mpif77 -o fpi fpi.o
fpi.o(.data+0x20): undefined reference to `pmpi_wtime_'
fpi.o(.data+0x24): undefined reference to `pmpi_wtick_'
make: *** [fpi] Error 1

The env command shows (among other things):
LD_LIBRARY_PATH=/usr/local/lf9562/lib:/home/local/lib::/opt/scali/lib
PATH=/usr/local/lf9562/bin:/home/local/bin:/home/local/matlab6p5/bin:/opt/intel/compiler70/ia32/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/opt/intel/compiler70/ia32/bin:/home/local/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/opt/scali/bin:/opt/scali/sbin:/opt/scali/contrib/pbs/bin:/root/bin:/usr/local/fei5/bin

In fact, when I try to run "make testing" in /home/local/test/mpich-1.2.5/examples/test, I get output ending in:

--------------- Extracted output -----------------
....
**** Testing error.c ****
ccncluster : Fri May 14 10:32:15 EST 2004
/home/local/test/mpich-1.2.5/bin/mpicc -c status.c
/home/local/test/mpich-1.2.5/bin/mpicc -o status status.o
**** Testing status.c ****

FORTRAN TESTS
ccncluster : Fri May 14 10:32:16 EST 2004
/home/local/test/mpich-1.2.5/bin/mpif77 -o fmisc fmisc.f
Encountered 0 errors, 0 warnings in file fmisc.f.
fmisc.o: In function `MAIN__':
fmisc.o(.text+0x219): undefined reference to `mpi_file_open_'
fmisc.o(.text+0x24d): undefined reference to `mpi_file_write_'
fmisc.o(.text+0x261): undefined reference to `mpi_file_sync_'
fmisc.o(.text+0x27d): undefined reference to `mpi_file_get_amode_'
fmisc.o(.text+0x2d3): undefined reference to `mpi_file_get_atomicity_'
fmisc.o(.text+0x329): undefined reference to `mpi_file_set_atomicity_'
fmisc.o(.text+0x345): undefined reference to `mpi_file_get_atomicity_'
[...more of similar errors...]
fmisc.o(.data+0x54): undefined reference to `mpi_file_write_'
fmisc.o(.data+0x58): undefined reference to `mpi_file_open_'
fmisc.o(.data+0x7c): undefined reference to `pmpi_wtime_'
fmisc.o(.data+0x80): undefined reference to `pmpi_wtick_'
make[2]: *** [fmisc] Error 1
Could not build executable fmisc; aborting tests
make[1]: [testing] Error 1 (ignored)
End of testing in directory io
Running tests in directory command
End of testing in directory command
--------------- End of Extracted output -----------------


In other words, it appears that the test involving fmisc.f fails. It appears that all the tests above that were tests of mpich-1.2.5 using the C language, not FORTRAN and the first FORTRAN test failed.

I followed the instructions as closely as possible. I am guessing that the instructions for configuring and building mpich-1.2.5 are incomplete in some way. Can anyone give me any advice?

I notice that the README files from mpich (various versions) suggest using a "device" as in

configure --with-device=ch_p4

Was I supposed to include that in the configure command? Or is the problem something involving installation of the compiler and/or libraries?

Thank you.
Paul Neubauer
prn@bsu.edu

admin
08-19-2004, 08:07 PM
The unresolved reference errors generated during make are caused by
references to mpi_wtime, mpi_wtick, mpe_wtime and mpe_wtick in the
header files mpif.h and mpef.h.

The resolution is to change the EXTERNAL statements which reference
mpi_wtime and mpi_wtick in mpif.h and mpe_wtime and mpe_wtick in mpef.h
to ML_EXTERNAL. This will allow programs that INCLUDE mpif.h or mpef.h
to compile and link. This change is referenced in the comments of
mpif.h.

You need to make this change in mpef.h after the make step since it is
generated in this step.