I assume that this is with the 6.2 series of the PGI compiler, right?
I had an exchange with PGI about this exact issue a little over a
month ago. This was the response from Brent Leback:
> WRT this issue, I guess it is well understood by some people here,
> but news to me, that when you compile with debug, the .o files for
> the modules need to be included on the link line.
> So, in your example, if you do
> shell$ pgf90 program.f90 -I. -g test_module.o
> All should be fine. I don't know if there is anything we can do
> about this without totally restructuring the dwarf info we
> generate, or the mod file format.
(note that I had sent Brent a simplistic, non-MPI example that showed
the same problem -- that's what he's referring to in his example, above)
Open MPI does not currently list the F90 module .o files on the
compile line. Unfortunately, it would be a real pain to add this
because we would need to install all the .o files for the F90 module
(which will take a little work to do properly because Automake
doesn't install .o files by default), and then we'd need to modify
the wrapper compiler to add all those .o files in the link command
line. And of course, all of this would need to be triggered to
*only* occur if you're both using a version of the PGI compiler that
exhibits this behavior and are using the -g flag.
Since this would be specific to a single compiler suite, and since
it's only for debugging scenarios, and since it would be rather
invasive/painful, we're not too excited about doing it. You should
be able to workaround this issue by not supplying -g in the FCFLAGS
given to configure.
That being said, patches are always welcome! :-)
On Mar 19, 2007, at 6:01 AM, Götz Waschk wrote:
> Hello everyone,
> I've stumbled upon the following problem trying to build openmpi 1.2
> on RHEL4 with the Portland Group compiler suite. The check for the
> Fortran90 compiler fails if the compiler flags contain -g:
> configure: WARNING: *** Could not determine the f90 compiler flag to
> indicate where modules reside
> configure: error: *** Cannot continue
> config.log contains this:
> /tmp/pgf90Z2ohzWqopVcX.o(.debug_info+0x92): undefined reference to
> This was the command executed by configure:
> pgf90 -O2 -g conftest.f90 -Isubdir
> It will work if -g is not used or if the linking step is done separate
> from the compilation of conftest.f90. The Portland Group support is
> still trying to figure out if this is a bug in their compiler.
> Regards, Götz Waschk
> AL I:40: Do what thou wilt shall be the whole of the Law.
> users mailing list