Boost logo

Boost Testing :

Subject: Re: [Boost-testing] Enabling Boost.MPI tests on AIX
From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2009-06-15 13:27:24


On Jun 15, 2009, at 11:01 AM, Christopher Cambly wrote:

> > Then, it probably does not react to neither of below options:
> >
> > -showme:compile
> > -showme:link
> > -showme
> > -show
> >
> > What option to mpCC is supposed to print additional compiler
> flags to use?
>
> You are correct in that none of the showme or show options seem to
> give any additional information.
>
> Typically for xlC(vacpp) the -v option is used report progress of
> the compilation and report the names of the programs being invoked
> as well as the options being specified to each program. I tried it
> with mpCC and it dumps the following:
>
> bash-3.00$ mpCC -v
> xlC_r -I/usr/lpp/ppe.poe/include -binitfini:poe_remote_main -lmpi_r
> -lvtd_r -v -lpthreads -L/usr/lpp/ppe.poe/lib/threads -L/usr/lpp/
> ppe.poe/lib -L/usr/lpp/ppe.poe/lib/ip
>
> as well as some other information that is likely not relevant. The
> above line is the first list displayed but several others follow.
>
Yes, that other information is rather hefty and is a serious PITA to
parse. Here's what we get.

> mpCC -v
xlC_r -I/usr/lpp/ppe.poe/include -binitfini:poe_remote_main -lmpi_r -
lvtd_r -I/opt/rsct/lapi/include -llapi_r -v -lpthreads -L/usr/lpp/
ppe.poe/lib/threads -L/usr/lpp/ppe.poe/lib -L/usr/lpp/ppe.poe/lib/ip
exec: export(export,XL_CONFIG=/etc/vac.cfg:xlC_r,NULL)
exec: /bin/ld(ld,-b32,/lib/crt0.o,-bpT:0x10000000,-bpD:0x20000000,-
binitfini:poe_remote_main,-lmpi_r,-lvtd_r,-llapi_r,-lpthreads,-L/usr/
lpp/ppe.poe/lib/threads,-L/usr/lpp/ppe.poe/lib,-L/usr/lpp/ppe.poe/lib/
ip,-L/usr/vac/lib,-lxlopt,-L/usr/lib/threads,-L/usr/vacpp/lib,-lC,-
lpthreads,-lm,-lc,-bnobind,NULL) >/tmp/xlcLDY54RMf
exec: /usr/vacpp/exe/munch(munch,-X,32,-b,-,-o,/tmp/xlcMCY34RMd.c,-t,/
tmp/xlcMTY44RMe,NULL) </tmp/xlcLDY54RMf
unlink: /tmp/xlcLDY54RMf
exec: /bin/ld(ld,-b32,/lib/crt0.o,-bpT:0x10000000,-bpD:0x20000000,-
binitfini:poe_remote_main,-lmpi_r,-lvtd_r,-llapi_r,-lpthreads,-L/usr/
lpp/ppe.poe/lib/threads,-L/usr/lpp/ppe.poe/lib,-L/usr/lpp/ppe.poe/lib/
ip,-L/usr/vac/lib,-lxlopt,-L/usr/lib/threads,-L/usr/vacpp/lib,-lC,-
lpthreads,-lm,-lc,NULL) |
exec: /usr/vacpp/bin/c++filt(c++filt,-S,NULL) |
exec: /bin/sed(sed,/317.*::virtual-fn-table-ptr$/ s/^\(.*: \)*{*\([^}]
*\)\(}*.*\)::virtual-fn-table-ptr$/\1Virtual table for class "\2":
first non-inline virtual function in "\2" is not defined./,NULL)
ld: 0711-317 ERROR: Undefined symbol: .main
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
unlink: /tmp/xlcW0Y44RMa
unlink: /tmp/xlcW1Y54RMb
unlink: /tmp/xlcW2Y64RMc
unlink: /tmp/xlcMCY34RMd.c
unlink: /tmp/xlcMCY34RMd.o
unlink: /tmp/xlcMTY44RMe
unlink: /tmp/xlcMCY34RMd

Though you can reduce some of the excess by passing the -c option,
resulting in this output.

> mpCC -v -c
xlC_r -c -I/usr/lpp/ppe.poe/include -binitfini:poe_remote_main -
lmpi_r -lvtd_r -I/opt/rsct/lapi/include -llapi_r -v -lpthreads -L/usr/
lpp/ppe.poe/lib/threads -L/usr/lpp/ppe.poe/lib -L/usr/lpp/ppe.poe/lib/ip
exec: export(export,XL_CONFIG=/etc/vac.cfg:xlC_r,NULL)
unlink: /tmp/xlcW0lojsEa
unlink: /tmp/xlcW1lojsEb
unlink: /tmp/xlcW2lojsEc

Chris, any chance IBM could adopt a more standardized convention for
the MPI wrapper scripts to make it easier for us to parse through the
output (or is there a better set of switches to use)?

-- Noel


Boost-testing list run by mbergal at meta-comm.com