LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: William Boatin (wboatin_at_[hidden])
Date: 2003-06-25 09:54:11


Sorry about the confusion. btw, i am not sure how to respond to responses in
this mailing list.
I have both the problem of knowing which .h filese need to be
translated/included AND which LAM libraries to include. I though that the
wrapper that was listed in this posting:

http://www.lam-mpi.org/MailArchives/lam/msg01611.php

was pretty much the translation of whatever .h files needed to be
translated.

I copied the mpi unit code from the above posting and modified it a little
it so that kylix would accept it.
- had to change the directive used to link libraries from $LINKLIB to $LINK
or $L
- had to comment out all the "external name 'lam_mpi_byte';" sections from
the var section....

My problem is the library section. Mine looks like this :
{$L mpi++.o}
{$L mpio.o}
{$L mpi.o}
{$L tstdio.o}
{$L trillium.o}
{$L args.o}
{$L t.o}

I had to add the ".o" because Kylix expects them (else for some weird reason
it thinks the libraries are .obj files). Where are these .o files supposed
to be? I know that I can find some by modifying the makefile so that the .o
files are not deleted. i did this and copied the ones i needed and could
find to the directory where my project is but i still got errors in
compiling my project. These are what the errors look like:
  [Error] mpiwrapper2.pas(215): Unsatisfied forward or external declaration:
'MPI_Init'
  [Error] mpiwrapper2.pas(216): Unsatisfied forward or external declaration:
'MPI_Comm_size'
  [Error] mpiwrapper2.pas(217): Unsatisfied forward or external declaration:
'MPI_Comm_rank'
  [Error] mpiwrapper2.pas(218): Unsatisfied forward or external declaration:
'MPI_Send'
  [Error] mpiwrapper2.pas(219): Unsatisfied forward or external declaration:
'MPI_Recv'
  [Error] mpiwrapper2.pas(219): Unsatisfied forward or external declaration:
'MPI_Finalize'

I think they mean that I am not including the libraries i need to link to

I ran mpicc -showme and got the libraries that are linked to by mpicc. but,
these are .a files. kylix cant link to .a files as far as i know. is there
any way to convert .a files to .o files? i was told that .a files are just a
compilation of .o files...

A lot of words. my problem is basically, where are the .o files that the mpi
unit code in the posting above links to?

On Mon, 23 Jun 2003, William Boatin wrote:

>[snipped]
>In both versions, my problem is the same. I cant seem to find the
>libraries that need to be included. I downloaded lam-6.5.9.tar.gz,
>uncompressed it, ran configure, ran make, and then looked for the .o
>files which i think are what the above code is trying to link too. I
>found mpi++.o, trillium.o but none of the others. Can anyone help?

I'm not sure what you mean -- I think you mean that you need to know the
LAM libraries to link to, but you might also mean which .h files need to
be translated/included (you used "libraries" and "included" in the same
sentence, and it's difficult to parse that properly...).

If you mean which libraries to link to, simply run "mpicc -showme" and it
should show you the libraries and the correct order to use.

Note that this will get more complicated in LAM/MPI 7.0 because the list
of libraries will be variable (depending on how LAM/MPI was configured,
etc.).

_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus