[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bgl-discuss] MPI link problems
If I used blrts_xlC, the -lnsl error comes like:
blrts_xlC -g -O -qarch=440 -qmaxmem=64000 -DXLF -o xmain -L.
-L/home/jungmin/mxyzptlk/lib -L/bgl/BlueLight/ppcfloor/bglsys/lib
-L/opt/ibmcmp/xlf/9.1/lib xmain-main.o mp.o libImpact.a libExternal.a
libImpact.a -lbmlfactory -lphysics_toolkit -lbeamline -lphysics_toolkit
-lbeamline -lmxyzptlk -lbasic_toolkit -L/home/jungmin/glib-1.2.10/lib -lglib
-lm -lnsl -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
-L/opt/ibmcmp/xlf/9.1/lib -lxl -lxlf90 -lxlopt hackery.o
/bgl/BlueLight/ppcfloor/blrts-gnu/powerpc-bgl-blrts-gnu/bin/ld: cannot find
-lnsl
make: *** [xmain] Error 1
Is there any way to solve this problem?
On 9/21/05 1:05 PM, "Sameer Shende" <sameer@xxxxxxxxxxxxxx> wrote:
> Hi,
> I think it comes from using the C++ compiler with Fortran objects.
> First why are you using xlc++ instead of blrts_xlC?
> If you don't mind generating some performance data with it, you'd always
> use the TAU library which has the Fortran MPI bindings with the
> underscore. If you want to test it, try:
>
> blrts_xlC *.o -L<dir> -l<yourlibs> -L/soft/tools/tau/tau-2.14.8/bgl/lib
> -lTauMpi-mpi-pdt -L/bgl/BlueLight/ppcfloor/bglsys/lib -lmpich.rts
> -lmsglayer.rts -ldevices.rts -lrts.rts -ldevices.rts
> -L/soft/tools/tau/tau-2.14.8/bgl/lib -ltau-mpi-pdt
> -L/opt/ibmcmp/xlf/9.1/bin/../blrts_dev_lib
> -L/opt/ibmcmp/xlf/9.1/bin/../blrts_lib -lxlf90 -lxlfmath -lxl -lm
>
> and try running it. It'll generate profile.<node>.0.0 files that
> have performance data for MPI routines (see paraprof from
> /soft/tools/tau/tau-2.14.8/bgl/bin).
> Let me know if this works for you.
> Thanks,
> - Sameer
>
>
> Wed, 21 Sep 2005, Satish Balay wrote:
>
>>
>> libImpact.a is looking for 'mpi_barrier_' when it should look for
>> 'mpi_barrier'. Mostlikely it is built with the wrong compiler [or
>> compiler options]. So you'll have to look at how it was compiled.
>>
>> Satish
>>
>> ----
>> login2 /home/balay> nm -o
>> /bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/lib/libmpich.rts.a | grep
>> mpi_barrier
>> /bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/lib/libmpich.rts.a:barrier
>> f.o:00000000 W mpi_barrier
>> /bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/lib/libmpich.rts.a:barrier
>> f.o:00000000 T pmpi_barrier
>> login2 /home/balay>
>>
>>
>> On Wed, 21 Sep 2005, JungMin (Judy) Lee wrote:
>>
>>> Hi,
>>> Does anyone have this same error and know how to solve this severe linking
>>> problems?
>>>
>>>
>>> I run
>>> xlc++ -g -O -qarch=440 -qmaxmem=64000 -DXLF -o xmain -L.
>>> -L/home/jungmin/mxyzptlk/lib -L/bgl/BlueLight/ppcfloor/bglsys/lib ccmain.o
>>> mp.o libImpact.a libExternal.a libImpact.a -lbmlfactory -lphysics_toolkit
>>> -lbeamline -lphysics_toolkit -lbeamline -lmxyzptlk -lbasic_toolkit
>>> -L/home/jungmin/glib-1.2.10/lib -lglib -lm -lnsl -L/opt/ibmcmp/xlf/9.1/lib
>>> -lxl -lxlf90 -lxlopt hackery.o -lmpich.rts -lmsglayer.rts -lrts.rts
>>> -ldevices.rts
>>>
>>> Then the errors:
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd5f4):Func/Fldmger.f90:268:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd604):Func/Fldmger.f90:270:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd70c):Func/Fldmger.f90:282:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd734):Func/Fldmger.f90:284:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd744):Func/Fldmger.f90:286:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd7c8):Func/Fldmger.f90:295:
>>> undefined reference to `mpi_barrier_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd844):Func/Fldmger.f90:245:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd86c):Func/Fldmger.f90:247:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd87c):Func/Fldmger.f90:249:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd8b4):Func/Fldmger.f90:282:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd8dc):Func/Fldmger.f90:284:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xd8ec):Func/Fldmger.f90:286:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdb48): In function
>>> `guardsum1_fldmger_':
>>> Func/Fldmger.f90:42: undefined reference to `mpi_barrier_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdc48):Func/Fldmger.f90:80:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdce8):Func/Fldmger.f90:87:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdcf8):Func/Fldmger.f90:89:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdd90):Func/Fldmger.f90:98:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xde04):Func/Fldmger.f90:105:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xde14):Func/Fldmger.f90:107:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdee8):Func/Fldmger.f90:120:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdfa4):Func/Fldmger.f90:127:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xdfb4):Func/Fldmger.f90:129:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xe064):Func/Fldmger.f90:138:
>>> undefined reference to `mpi_irecv_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xe0f8):Func/Fldmger.f90:145:
>>> undefined reference to `mpi_send_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xe108):Func/Fldmger.f90:147:
>>> undefined reference to `mpi_wait_'
>>> libImpact.a(libImpact_a-Fldmger.o)(.text+0xe1a0):Func/Fldmger.f90:157:
>>> undefined reference to `mpi_barrier_'
>>>
>>> - --------------------------------------------------------------------
>>> To add or remove yourself from this mailing list, use the 'notifyme'
>>> command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.
>>>
>>>
>>
>> - --------------------------------------------------------------------
>> To add or remove yourself from this mailing list, use the 'notifyme'
>> command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.
>>
- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.