Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
From: Paul Hargrove (phhargrove_at_[hidden])
Date: 2014-07-30 23:53:44


On Wed, Jul 30, 2014 at 6:20 PM, Paul Hargrove <phhargrove_at_[hidden]> wrote:

>
> On Wed, Jul 30, 2014 at 6:15 PM, <tmishima_at_[hidden]> wrote:
> [...]
>
>> Strange thing is that openmpi-1.8 with PGI14.7 works fine.
>> What's the difference with openmpi-1.8 and openmpi-1.8.2rc2?
>>
> [...]
>
> Tetsuya,
>
> Now that I can reproduce the problem you have reported, I am building
> 1.8.1 with PGI14.4.
> Then I may be able to answer the question about what is different.
>
> -Paul
>

I have a clear answer to *what* is different (below) and am next looking
into the why/how now.
It seems that 1.8.1 has included all dependencies into libmpi_usempif08
while 1.8.2rc2 does not.
My reflex is to blame libtool, but config/lt* are unchanged between the two
versions.

I am rebuilding now with "V=1" passed to make so I can see how the libs
were built.
I'd appreciate guidance if Jeff or anybody else has suggestions as to an
alternative approach to investigate this.
When completed, I will be (more than) happy to turn over the verbose make
output for somebody else to examine.

-Paul

In 1.8.1:
$ nm openmpi-1.8.1-linux-x86_64-pgi-14.4/INST/lib/libmpi_usempif08.so |
grep ' mpi_f08_sizeof_'
000000000004a9a0 T mpi_f08_sizeof_
000000000004ad70 T mpi_f08_sizeof_mpi_sizeof_complex_a_16_
000000000004acf0 T mpi_f08_sizeof_mpi_sizeof_complex_a_8_
000000000004ad30 T mpi_f08_sizeof_mpi_sizeof_complex_s_16_
000000000004acb0 T mpi_f08_sizeof_mpi_sizeof_complex_s_8_
000000000004a9f0 T mpi_f08_sizeof_mpi_sizeof_integer_a_1_
000000000004aa70 T mpi_f08_sizeof_mpi_sizeof_integer_a_2_
000000000004aaf0 T mpi_f08_sizeof_mpi_sizeof_integer_a_4_
000000000004ab70 T mpi_f08_sizeof_mpi_sizeof_integer_a_8_
000000000004a9b0 T mpi_f08_sizeof_mpi_sizeof_integer_s_1_
000000000004aa30 T mpi_f08_sizeof_mpi_sizeof_integer_s_2_
000000000004aab0 T mpi_f08_sizeof_mpi_sizeof_integer_s_4_
000000000004ab30 T mpi_f08_sizeof_mpi_sizeof_integer_s_8_
000000000004abf0 T mpi_f08_sizeof_mpi_sizeof_real_a_4_
000000000004ac70 T mpi_f08_sizeof_mpi_sizeof_real_a_8_
000000000004abb0 T mpi_f08_sizeof_mpi_sizeof_real_s_4_
000000000004ac30 T mpi_f08_sizeof_mpi_sizeof_real_s_8_

In 1.8.2rc2:
$ nm openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/lib/libmpi_usempif08.so |
grep ' mpi_f08_sizeof_'
                 U mpi_f08_sizeof_

Similar differences exist corresponding to the other three modules that
give undefined references in Tetsuya's simple test code.

-- 
Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
Computer and Data Sciences Department     Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900