pkgsrc-Users archive

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

Re: Python 3.6 retirement



* On 2021-10-13 at 06:19 BST, Julien Savard wrote:

/var/tmp/pkgbuild/lang/python39/work/Python-3.9.7/Modules/socketmodule.c:5514:15:
error: implicit declaration of function 'sethostname'; did you mean
'gethostname'? [-Werror=implicit-function-declaration]

This is the important bit, the rest is just noise.

The interesting bit is that this code is only included if HAVE_SETHOSTNAME is declared, yet your compiler is saying it can't be found. What's probably happening is that configure is using flags that enable the symbol visibility, but the build of the module itself is not.

In newer Solaris and illumos the relevant part of /usr/include/unistd.h looks like this:

  #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
  extern int setgroups(int, const gid_t *);
  extern int sethostname(char *, int);
  #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */

so my guess is that configure is looking for it with __EXTENSIONS__ defined, but the module build is not using that. I'm assuming your older Solaris release at least has sethostname() otherwise the configure test would be failing.

Could you try building with

  CFLAGS.SunOS+=	-D__EXTENSIONS__

or similar and see if that helps?

Cheers,

--
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index