Emerging the new python 3.10 in Gentoo may lead to the following error, despite all the dependencies installed. This error might also occur in any other Linux distro! During the configure stage the autoconf tool outputs error:
root@srv ~ # cat /var/tmp/portage/dev-lang/python-3.10.5/temp/autoconf.out ***** autoconf ***** ***** PWD: /var/tmp/portage/dev-lang/python-3.10.5/work/Python-3.10.5 ***** autoconf --force configure.ac:59: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:59: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:59: the top level configure.ac:911: warning: AC_LINK_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS ./lib/autoconf/specific.m4:364: AC_USE_SYSTEM_EXTENSIONS is expanded from... configure.ac:911: the top level configure.ac:2214: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:2214: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:2214: the top level configure.ac:4250: warning: The macro `AC_HEADER_TIME' is obsolete. configure.ac:4250: You should run autoupdate. ./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from... configure.ac:4250: the top level configure.ac:18: error: possibly undefined macro: AC_MSG_ERROR If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation
It appears a dependency is missing! First, build the package sys-devel/autoconf-archive and then the building of python-3.10.5 will finish successfully.
root@srv ~ # emerge -va autoconf-archive These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] sys-devel/autoconf-archive-2022.02.11::gentoo 660 KiB Total: 1 package (1 new), Size of downloads: 660 KiB Would you like to merge these packages? [Yes/No] yes
Emerging the dev-lang/python-3.10.5::gentoo outputs the error and the building process stops. The error output in emerge command is so informative. The actual error is in the /var/tmp/portage/dev-lang/python-3.10.5/temp/autoconf.out.
Keep on reading!