pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: py-grpcio fails to build on NetBSD 11 and current



Thomas Klausner <wiz%gatalith.at@localhost> writes:

> I think you misunderstood the message. It fails in
> subprocess.check_call(...) when calling c++.  There are probably some
> compiler errors somewhere else that will tell what the real problem
> is.

Insert standard rant about python thinking it's ok to show random
backtraces!

> It built fine for me on -current yesterday.

src/core/lib/event_engine/ares_resolver.cc:377:24: error: invalid conversion from 'void (*)(void*, int, int, hostent*)' to 'ares_host_callback' {aka 'void (*)(void*, int, int, const hostent*)'} [-fpermissive]
  377 |                        &AresResolver::OnHostbynameDoneLocked, resolver_arg);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                        |
      |                        void (*)(void*, int, int, hostent*)
/tmp/work/net/py-grpcio/work/.buildlink/include/ares.h:881:22: note:   initializing argument 4 of 'void ares_gethostbyname(ares_channel_t*, const char*, int, ares_host_callback, void*)'
  881 |   ares_host_callback callback, void *arg);
      |   ~~~~~~~~~~~~~~~~~~~^~~~~~~~

The root cause is that libcares 1.34.7 wrongly had an API break (adding
the const), which was fixed in 1.34.8, according to the release notes.
The secondary cause is pulling up 1.34.7 to the branch and not the
followon fixes.


bulktracker shows that py-grpcio is not building at all on 2026Q2 (after
you figure out how to ignore the 12 ways pkgsr-current is spelled!) and
filter out ancient branches:

  https://releng.netbsd.org/bulktracker/net/py-grpcio

2026Q2 was ok I think, but since then:

  revision 1.54.6.1
  date: 2026-07-16 10:06:45 -0400;  author: maya;  state: Exp;  lines: +2 -2;  commitid: hYFrLswE6EX6VSNG;
  Pullup ticket #7173 - requested by taca
  net/libcares: Security fix

  Revisions pulled up:
  - net/libcares/Makefile                                         1.55
  - net/libcares/PLIST                                            1.36
  - net/libcares/distinfo                                         1.47

  ---
     Module Name: pkgsrc
     Committed By:        wiz
     Date:                Mon Jul  6 21:03:09 UTC 2026

     Modified Files:
          pkgsrc/net/libcares: Makefile PLIST distinfo

     Log Message:
     libcares: update to 1.34.7.

without

  revision 1.57
  date: 2026-07-09 08:46:45 -0400;  author: adam;  state: Exp;  lines: +7 -10;  commitid: VKp0nQcyMBGsHYMG;
  libcares: updated to 1.34.8

  c-ares version 1.34.8 - July 7 2026

  This is a bugfix release.

  Bugfixes:
  * Revert "Mark parameters in callbacks as const" which shipped in 1.34.7.
    Changing the parameter types of the `ares_callback`, `ares_host_callback`,
    and `ares_nameinfo_callback` function pointer typedefs was an unintended
    API break: existing applications with the historical non-const callback
    signatures no longer compiled, particularly in C++ where function pointer
    types must match exactly. The read-only nature of the callback parameters
    is now documented instead.


  revision 1.56
  date: 2026-07-07 01:48:04 -0400;  author: wiz;  state: Exp;  lines: +10 -7;  commitid: rkIKcYtBY9YKrGMG;
  libcares: switch to newer commit on 1.34 branch

  Fixes API breakage introduced in 1.34 (non-const -> const argument).


I locally updated net/libcares from 2026Q2 to HEAD and then py-grpcio
built.



Home | Main Index | Thread Index | Old Index