[mpich-discuss] undefined symbol: MPI_UNWEIGHTED

Robert Baurle robert.a.baurle at nasa.gov
Wed Aug 10 13:13:44 CDT 2016


I have figured out the problem. There was some sort of conflict with 
other libraries that were in my library path. In particular, I had 
Tecplot360EX in my LD_LIBRARY_PATH, and this package includes some 
libraries that take advantage of MPI-IO. Here is the result of ldd when 
this package was in my path:

hyp22 rbaurle 2007> ldd hello.out
     linux-vdso.so.1 =>  (0x00007ffe001df000)
     libmpifort.so.12 => /opt/mpich/lib/libmpifort.so.12 
(0x00002b0e09bf5000)
     libmpi.so.12 => /opt/tecplotex/bin/libmpi.so.12 (0x00002b0e09e2d000)
     libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00002b0e0a126000)
     libm.so.6 => /lib64/libm.so.6 (0x00000038bcc00000)
     libgcc_s.so.1 => /opt/tecplotex/bin/libgcc_s.so.1 (0x00002b0e0a419000)
     libc.so.6 => /lib64/libc.so.6 (0x00000038bc800000)
     librt.so.1 => /lib64/librt.so.1 (0x00000038bd800000)
     libpthread.so.0 => /lib64/libpthread.so.0 (0x00000038bd400000)
     libopen-rte.so.12 => /opt/tecplotex/bin/libopen-rte.so.12 
(0x00002b0e0a630000)
     libopen-pal.so.13 => /opt/tecplotex/bin/libopen-pal.so.13 
(0x00002b0e0a8ab000)
     libpciaccess.so.0 => /usr/lib64/libpciaccess.so.0 (0x00000038bec00000)
     libdl.so.2 => /lib64/libdl.so.2 (0x00000038bd000000)
     libutil.so.1 => /lib64/libutil.so.1 (0x00000038ce800000)
     /lib64/ld-linux-x86-64.so.2 (0x00000038bc400000)

When I removed this package from my LD_LIBRARY_PATH, the hello 
executable runs just fine and this is the result of of ldd:

hyp22 rbaurle 2020> ldd hello.out
     linux-vdso.so.1 =>  (0x00007ffda41fd000)
     libmpifort.so.12 => /opt/mpich/lib/libmpifort.so.12 
(0x00002ae95cdf7000)
     libmpi.so.12 => /opt/mpich/lib/libmpi.so.12 (0x00002ae95d02f000)
     libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00002ae95d4ce000)
     libm.so.6 => /lib64/libm.so.6 (0x00000038bcc00000)
     libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000038c3c00000)
     libc.so.6 => /lib64/libc.so.6 (0x00000038bc800000)
     librt.so.1 => /lib64/librt.so.1 (0x00000038bd800000)
     libpthread.so.0 => /lib64/libpthread.so.0 (0x00000038bd400000)
     /lib64/ld-linux-x86-64.so.2 (0x00000038bc400000)


Thanks for the ldd suggestion,

Rob

On 08/10/2016 12:55 PM, Kenneth Raffenetti wrote:
> Hi Robert,
>
> Apologies for the delayed response. I'm unable to reproduce this on a 
> CentOS 6 machine so far. Can you run ldd against your hello world 
> binaries to double check the linkage? The MPI_UNWEIGHTED symbol should 
> be resolved in the libmpi.so library by the inter-library dependency.
>
> Ken
>
> On 08/02/2016 02:00 PM, Robert Baurle wrote:
>> Sorry, I should have also stated that /opt/mpich is a symbolic link to
>> /opt/mpich_gfc. I define /opt/mpich to be a symbolic link to either:
>>
>> /opt/mpich_gfc
>>
>> or
>>
>> /opt/mpich_lahey
>>
>> depending on which Fortran90 compiler I want to use. I currently have
>> /opt/mpich symbolically linked to /opt/mpich_gfc, and /opt/mpich is
>> defined in my paths as shown below
>>
>> hyp22 rbaurle > echo $LD_LIBRARY_PATH
>> /usr/lib64/atlas:/opt/tecplotex/bin:/opt/mpich/lib:/opt/lahey-64/lib64:/usr/local/lib 
>>
>>
>>
>> hyp22 rbaurle > echo $PATH
>> /home/rbaurle/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/sbin:/opt/lahey-64/bin:/opt/tecplot/bin:/opt/gridpro/bin:/opt/mpich/bin:.:/home/rbaurle/Vulcan/vulcan.bzr/Vulcan/Scripts 
>>
>>
>>
>>
>> Rob
>>
>> On 08/02/2016 02:48 PM, Halim Amer wrote:
>>> you are probably linking to the wrong MPICH. You installed MPICH to
>>> /opt/mpich_gfc but the error occurs for MPICH installed at /opt/mpich.
>>>
>>> Do you have /opt/mpich in LD_LIBRARY_PATH? If that's the case, then
>>> you should remove it or place /opt/mpich_gfc before it.
>>>
>>> --Halim
>>>
>>> www.mcs.anl.gov/~aamer
>>>
>>> On 8/2/16 11:33 AM, Robert Baurle wrote:
>>>> Hello,
>>>>
>>>> I have installed MPICH 3.2 on a CENTOS 6 machine with the following
>>>> configuration options:
>>>>
>>>> setenv CC /usr/bin/gcc
>>>> setenv FC /usr/bin/gfortran
>>>> setenv CXX /usr/bin/c++
>>>> setenv INS_DIR /opt/mpich_gfc
>>>>
>>>> ../mpich-3.2/configure --prefix=$INS_DIR --with-device=ch3:nemesis |&
>>>> tee configure.log
>>>>
>>>> make --jobs 4 |& tee make.log
>>>>
>>>> make install
>>>>
>>>> and the installation appeared to have completed without error (see the
>>>> attached configure.log and make.log files). However, when I attempt to
>>>> run a simple hello_world FORTRAN 90 program, I get the following 
>>>> error:
>>>>
>>>> hyp22 rbaurle 2293> mpirun -n 3 a.out < hello.inp
>>>> a.out: symbol lookup error: /opt/mpich/lib/libmpifort.so.12: undefined
>>>> symbol: MPI_UNWEIGHTED
>>>>
>>>> If I repeat the installation, but change the Fortran90 compiler from
>>>> GFORTRAN to the Lahey 8.1 compiler, i.e.:
>>>>
>>>> setenv FC /opt/lahey-64/bin/lf95
>>>>
>>>> then the hello_world program runs just fine. Do you have any idea what
>>>> might be going on here? I should also mention that the same error
>>>> appears if I install MPICH 3.1.3.
>>>>
>>>> Thanks,
>>>>
>>>> Rob
>>>>
>>>>
>>>> _______________________________________________
>>>> discuss mailing list     discuss at mpich.org
>>>> To manage subscription options or unsubscribe:
>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>>
>>> _______________________________________________
>>> discuss mailing list     discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>
>> _______________________________________________
>> discuss mailing list     discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list