On 02/07/14 23:12, Martins Innus wrote:
> Ken,
>
> Sorry about that. Can you let me know what version of libibmad you
> have on this system? Also if
>
> HAVE_PORT_PERFORMANCE_QUERY_VIA
>
> is defined in your build?
the libibmad-dev package is 1.2.3-200903
and
src/include/pcp/config.h:#define HAVE_PORT_PERFORMANCE_QUERY_VIA 1
but
HAVE_PMA_QUERY_VIA is not defined in any header (it is set in configure but not
exported to any header file). So I think the earlier patch and commit would
have disabled these problematic metrics on ALL platforms.
So I went ahead and made the change to src/include/pcp/config.h.in to add
HAVE_PMA_QUERY_VIA and ... the build now works on both my Debian and Ubuntu
builds, BUT ...
Debian (where it was failing) ...
src/include/pcp/platform_header.h:/* #undef HAVE_PORT_PERFORMANCE_QUERY_VIA */
src/include/pcp/config.h:#define HAVE_PORT_PERFORMANCE_QUERY_VIA 1
src/include/pcp/config.h:/* #undef HAVE_PMA_QUERY_VIA */
src/include/pcp/config.h.in:#undef HAVE_PORT_PERFORMANCE_QUERY_VIA
src/include/pcp/config.h.in:#undef HAVE_PMA_QUERY_VIA
kenj@bozo-vm:~/src/pcp$ cd src/pmdas/infiniband/
kenj@bozo-vm:~/src/pcp/src/pmdas/infiniband$ make clean; make
rm -rf domain.h *.o ib.log pmdaib dep dep.bak *.[1-9].gz *.[1-9].bz2
*.[1-9].lzma *.[1-9].xz *.[1-9].tmp ib.o pmda.o pmdaib
for d in `echo `; do if test -d "$d" -a -f "$d/GNUmakefile"; then /bin/echo
=== $d ===; make --no-print-directory -C $d clean || exit $?; fi; done
gcc -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all
-D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.7\"
-I../../../src/include -I../../../src/include/pcp -c -o ib.o ib.c
gcc -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all
-D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.7\"
-I../../../src/include -I../../../src/include/pcp -c -o pmda.o pmda.c
gcc -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all
-D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.7\"
-I../../../src/include -I../../../src/include/pcp -o pmdaib -Wall
-L../../../src/libpcp/src -L../../../src/libpcp_pmda/src ib.o pmda.o
-libmad -libumad -L../../../src/libpcp/src -L../../../src/libpcp_pmda/src
-lpcp_pmda -lpcp
Ubuntu (where the build was OK) ...
src/include/pcp/config.h.in:#undef HAVE_PORT_PERFORMANCE_QUERY_VIA
src/include/pcp/config.h.in:#undef HAVE_PMA_QUERY_VIA
src/include/pcp/config.h:/* #undef HAVE_PORT_PERFORMANCE_QUERY_VIA */
src/include/pcp/config.h:#define HAVE_PMA_QUERY_VIA 1
kenj@bozo:~/src/pcp$ cd src/pmdas/infiniband
kenj@bozo:~/src/pcp/src/pmdas/infiniband$ make clean; make
rm -rf domain.h *.o ib.log pmdaib dep dep.bak *.[1-9].gz *.[1-9].bz2
*.[1-9].lzma *.[1-9].xz *.[1-9].tmp ib.o pmda.o pmdaib
for d in `echo `; do if test -d "$d" -a -f "$d/GNUmakefile"; then /bin/echo
=== $d ===; make --no-print-directory -C $d clean || exit $?; fi; done
gcc -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all
-D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.7\"
-I../../../src/include -I../../../src/include/pcp -c -o ib.o ib.c
gcc -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all
-D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.7\"
-I../../../src/include -I../../../src/include/pcp -c -o pmda.o pmda.c
gcc -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all
-D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.7\"
-I../../../src/include -I../../../src/include/pcp -o pmdaib -Wall
-L../../../src/libpcp/src -L../../../src/libpcp_pmda/src ib.o pmda.o
-libmad -libumad -L../../../src/libpcp/src -L../../../src/libpcp_pmda/src
-lpcp_pmda -lpcp
So something bad is happening in the configure logic ... Debian looks sort of
right to me, but Ubuntu looks sort of busted because
HAVE_PORT_PERFORMANCE_QUERY_VIA is NOT set, but (I assume the later/subset
control) HAVE_PMA_QUERY_VIA is set.
I'll leave this to Martins to sort out ... I don't have hardware to test the
PMDA, so I can't help beyond build issues.
I've pushed both my commits mentioned in this mail ... email following.
|