pcp
[Top] [All Lists]

Re: [pcp] recent buld regression for inifinband PMDA on debian

To: Martins Innus <minnus@xxxxxxxxxxx>, Nathan Scott <nathans@xxxxxxxxxx>
Subject: Re: [pcp] recent buld regression for inifinband PMDA on debian
From: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Thu, 03 Jul 2014 08:45:31 +1000
Cc: pcp@xxxxxxxxxxx
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <53B4052C.7010903@xxxxxxxxxxx>
References: <006b01cf95ba$27501890$75f049b0$@internode.on.net> <853918576.1602669.1404285230879.JavaMail.zimbra@xxxxxxxxxx> <53B4052C.7010903@xxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
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.

<Prev in Thread] Current Thread [Next in Thread>