Created attachment 18702 [details] current patch Fedora Rawhide got PCP 7.0.0 couple days ago, Samba does not build anymore due to it when --enable-pmda is specified. ../../ctdb/utils/pmda/pmda_ctdb.c: In function ‘pmda_ctdb_fetch’: ../../ctdb/utils/pmda/pmda_ctdb.c:475:44: error: passing argument 3 of ‘pmdaFetch’ from incompatible pointer type [-Wincompatible-pointer-types] 475 | ret = pmdaFetch(numpmid, pmidlist, resp, pmda); | ^~~~ | | | pmResult ** In file included from ../../ctdb/utils/pmda/pmda_ctdb.c:35: /usr/include/pcp/pmda.h:571:45: note: expected ‘pmResult_v2 **’ but argument is of type ‘pmResult **’ 571 | PMDA_CALL extern int pmdaFetch(int, pmID *, pmdaResult **, pmdaExt *); | ^ ../../ctdb/utils/pmda/pmda_ctdb.c: In function ‘pmda_ctdb_init’: ../../ctdb/utils/pmda/pmda_ctdb.c:494:31: error: assignment to ‘int (*)(int, pmID *, pmResult_v2 **, pmdaExt *)’ {aka ‘int (*)(int, unsigned int *, pmResult_v2 **, pmdaExt *)’} from incompatible pointer type ‘int (*)(int, pmID *, pmResult **, pmdaExt *)’ {aka ‘int (*)(int, unsigned int *, pmResult **, pmdaExt *)’} [-Wincompatible-pointer-types] 494 | dp->version.two.fetch = pmda_ctdb_fetch; | ^ ../../ctdb/utils/pmda/pmda_ctdb.c:453:1: note: ‘pmda_ctdb_fetch’ declared here 453 | pmda_ctdb_fetch(int numpmid, pmID pmidlist[], pmResult **resp, pmdaExt *pmda) | ^~~~~~~~~~~~~~~ There are more changes needed in ctdb/wscript, I'm attaching my current patch but I haven't looked at more details, only noticed the following in PCP: https://github.com/performancecopilot/pcp/commit/b5de2321db50741b0d34138d48faaf5c490a8755 With the attached patch I get the following reported: Checking for header pcp/pmapi.h : yes Checking for header pcp/impl.h : yes Checking for header pcp/pmda.h : yes Checking for library pcp : yes Checking for pmProgname in pcp : not found Checking for library pcp_pmda : yes Checking for pmdaDaemon in pcp_pmda : ok Checking for __pmID_int : not found Building with PMDA support So __pmID_int was hidden and some API did change their definitions.
Thanks to PCP upstream developers, the only 'big' change is to use pmdaResult instead of pmResult -- this should be compatible with older releases too because pmdaResult exists for quite some time, just PCP 7.0.0 is the first release where it is not the same as pmResult. I opened a merge request https://gitlab.com/samba-team/samba/-/merge_requests/4199 to provide a fix.
This bug was referenced in samba master: 83ff87f3dab0d6b22031614e9481b880f1dd99e8
Created attachment 18709 [details] v4-23-test backport Backport to v4-23-test
Hi Jule, This is ready for 4.23. Thanks!
Pushed to autobuild-v4-23-test.
This bug was referenced in samba v4-23-test: 1e6a3af20586fd0e7079181df6d27bcdb7ba27cd
Closing out bug report. Thanks!
This bug was referenced in samba v4-23-stable (Release samba-4.23.0): 1e6a3af20586fd0e7079181df6d27bcdb7ba27cd
There is still an issue with a re-definiton. Will add a follow-up patch soon.
(In reply to Andreas Schneider from comment #9) Hi Andreas, What version is the problem with? I built with a couple of versions, so would just like to know what I missed... Thanks...
This bug was referenced in samba master: d4b448c305f674646001e293d8aa6ebc0ca6dc77
Created attachment 18726 [details] additional patch for 4.23
Comment on attachment 18726 [details] additional patch for 4.23 LGTM
Jule please commit the additional patch to v4.23 branches.
This bug was referenced in samba v4-23-test: 3749bc3dda3b1c7941c881f5b5269ea4b8a2d348
This bug was referenced in samba v4-23-stable (Release samba-4.23.1): 3749bc3dda3b1c7941c881f5b5269ea4b8a2d348