Bug 256699 - lang/python38: Fails to configure when IPv6 not set up: checking getaddrinfo bug... yes
Summary: lang/python38: Fails to configure when IPv6 not set up: checking getaddrinfo ...
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Some People
Assignee: freebsd-python (Nobody)
Keywords: needs-qa
Depends on:
Reported: 2021-06-18 18:57 UTC by freebsd1
Modified: 2021-06-19 15:04 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (python)
koobs: maintainer-feedback? (freebsd1)
koobs: merge-quarterly?

Build logs for python37 & python38 + make.conf (35.98 KB, application/octet-stream)
2021-06-19 12:57 UTC, freebsd1
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description freebsd1 2021-06-18 18:57:31 UTC
Building python38 on poudriere in a i386 jail on an amd64 host (FreeBSD 12.2) fails. IPv6 is not used on this system. Building previous versions of python 3.x worked flawlessly with the same configuration.

The relevant lines from the poudriere log:

checking for getaddrinfo... yes
checking getaddrinfo bug... yes
Fatal: You must get working getaddrinfo() function.
       or you can specify "--disable-ipv6".
===>  Script "configure" failed unexpectedly.
Please report the problem to python@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/lang/python38/work/Python-3.8.10/config.log" including
the output of the failure of your make command. Also, it might be a good idea
to provide an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

make: stopped in /usr/ports/lang/python38
=>> Cleaning up wrkdir
===>  Cleaning for python38-3.8.10
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2021-06-19 03:29:30 UTC
Thank you for the report. Please include:

 - Full uname -a of host / jail
 - Full build log (as attachment)
 - config.log from WRKSRC (as attachment)
 - Details on the method of removing IPv6 support
 - Full kernel config, if not GENERIC, as an attachment
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2021-06-19 03:34:53 UTC
See Also:

Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2021-06-19 03:36:36 UTC
Please also clarify:

 - Latest Python port versions (lang/python*) *not* affected
Comment 4 freebsd1 2021-06-19 12:57:26 UTC
Created attachment 225931 [details]
Build logs for python37 & python38 + make.conf

lang/python37 builds fine, lang/python38 fails.

I attached the build logs of both versions as well as the poudriere.d make.conf (no particular options were set for these ports beyond those in make.conf)

host uname -a:
FreeBSD build.local 12.2-RELEASE-p7 FreeBSD 12.2-RELEASE-p7 GENERIC  amd64

jail uname -a:
FreeBSD build32-default 12.2-RELEASE-p7 FreeBSD 12.2-RELEASE-p7 GENERIC  i386

Neither the host nor the jail have been assigned an IPv6 address (only IPv4).

The kernel is GENERIC.
Comment 5 freebsd1 2021-06-19 15:04:36 UTC
The information from my last comment was not entirely correct.

Actually I disabled the IPv6 option for python37. When I enable it the build fails, just like for python38. Conversely, when I disable ipv6 for python38, the buiLd completes fine.

Sorry for the confusion.

Is building python with the ipv6 option enabled supposed to fail in a jail that only has an ipv4 address set?

Below are the options that I set for a successful build:

# This file is auto-generated by 'make config'.
# Options for python38-3.8.10