python / cpython

The Python programming language
https://www.python.org
Other
62.3k stars 29.93k forks source link

pycore_interp.h: field has incomplete type 'struct _dtoa_state' #114453

Closed furkanonder closed 3 months ago

furkanonder commented 7 months ago

Bug report

Bug description:

Configuration:

./configure --enable-profiling --disable-ipv6

Output:

checking for git... found
checking build system type... aarch64-unknown-freebsd13.2
checking host system type... aarch64-unknown-freebsd13.2
checking for Python interpreter freezing... ./_bootstrap_python
checking for python3.13... no
checking for python3.13... no
checking for python3.12... no
checking for python3.11... python3.11
checking Python for regen version... Python 3.11.5
checking for pkg-config... no
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "freebsd13"
checking for gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether cc accepts -g... yes
checking for cc option to enable C11 features... none needed
checking how to run the C preprocessor... cc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... /usr/bin/grep -E
checking for CC compiler name... clang
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for c++... no
configure:

  By default, distutils will build C++ extension modules with "c++".
  If this is not intended, then set CXX on the configure command line.

checking for the platform triplet based on compiler characteristics... none
checking for multiarch... 
checking for PEP 11 support tier... configure: WARNING: aarch64-unknown-freebsd13.2/clang is not supported
checking for -Wl,--no-as-needed... yes
checking for the Android API level... not Android
checking for --with-emscripten-target... 
checking for --enable-wasm-dynamic-linking... missing
checking for --enable-wasm-pthreads... missing
checking for --with-suffix... 
checking for case-insensitive build directory... no
checking LIBRARY... libpython$(VERSION)$(ABIFLAGS).a
checking LINKCC... $(PURIFY) $(CC)
checking EXPORTSYMS... 
checking for GNU ld... yes
checking for --enable-shared... no
checking for --with-static-libpython... yes
checking for --enable-profiling... yes
checking LDLIBRARY... checking HOSTRUNNER... 
libpython$(VERSION)$(ABIFLAGS).a
checking for ar... ar
checking for a BSD-compatible install... /usr/bin/install -c
checking for a race-free mkdir -p... ./install-sh -c -d
checking for --disable-gil... no
checking for --with-pydebug... no
checking for --with-trace-refs... no
checking for --enable-pystats... no
checking for --with-assertions... no
checking for --enable-optimizations... no
checking PROFILE_TASK... -m test --pgo --timeout=$(TESTTIMEOUT)
checking for --with-lto... no
checking for llvm-profdata... /usr/bin/llvm-profdata
checking for --enable-bolt... no
checking BOLT_INSTRUMENT_FLAGS... 
checking BOLT_APPLY_FLAGS...  -update-debug-sections -reorder-blocks=ext-tsp -reorder-functions=hfsort+ -split-functions -icf=1 -inline-all -split-eh -reorder-functions-use-hot-size -peepholes=none -jump-tables=aggressive -inline-ap -indirect-call-promotion=all -dyno-stats -use-gnu-stack -frame-opt=hot 
checking if cc supports -fstrict-overflow and -fno-strict-overflow... yes
checking for --with-strict-overflow... no
checking if cc supports -Og optimization level... yes
checking if we can add -Wextra... yes
checking whether cc -fno-strict-aliasing accepts and needs -fno-strict-aliasing... no
checking if we can disable cc unused-parameter warning... yes
checking if we can disable cc int-conversion warning... yes
checking if we can disable cc missing-field-initializers warning... yes
checking if we can enable cc sign-compare warning... yes
checking if we can enable cc unreachable-code warning... yes
checking if we can enable cc strict-prototypes warning... yes
checking if we can make implicit function declaration an error in cc -Werror=implicit-function-declaration... yes
checking if we can use visibility in cc -fvisibility=hidden... yes
checking whether pthreads are available without options... no
checking whether cc accepts -Kpthread... no
checking whether cc accepts -Kthread... no
checking whether cc accepts -pthread... yes
checking whether c++ also accepts flags for thread support... yes
checking for alloca.h... no
checking for asm/types.h... no
checking for bluetooth.h... yes
checking for conio.h... no
checking for direct.h... no
checking for dlfcn.h... yes
checking for endian.h... yes
checking for errno.h... yes
checking for fcntl.h... yes
checking for grp.h... yes
checking for io.h... no
checking for langinfo.h... yes
checking for libintl.h... no
checking for libutil.h... yes
checking for linux/auxvec.h... no
checking for sys/auxv.h... yes
checking for linux/fs.h... no
checking for linux/limits.h... no
checking for linux/memfd.h... no
checking for linux/random.h... no
checking for linux/soundcard.h... no
checking for linux/tipc.h... no
checking for linux/wait.h... no
checking for netdb.h... yes
checking for net/ethernet.h... yes
checking for netinet/in.h... yes
checking for netpacket/packet.h... no
checking for poll.h... yes
checking for process.h... no
checking for pthread.h... yes
checking for pty.h... no
checking for sched.h... yes
checking for setjmp.h... yes
checking for shadow.h... no
checking for signal.h... yes
checking for spawn.h... yes
checking for stropts.h... no
checking for sys/audioio.h... no
checking for sys/bsdtty.h... no
checking for sys/devpoll.h... no
checking for sys/endian.h... yes
checking for sys/epoll.h... no
checking for sys/event.h... yes
checking for sys/eventfd.h... yes
checking for sys/file.h... yes
checking for sys/ioctl.h... yes
checking for sys/kern_control.h... no
checking for sys/loadavg.h... no
checking for sys/lock.h... yes
checking for sys/memfd.h... no
checking for sys/mkdev.h... no
checking for sys/mman.h... yes
checking for sys/modem.h... no
checking for sys/param.h... yes
checking for sys/poll.h... yes
checking for sys/random.h... yes
checking for sys/resource.h... yes
checking for sys/select.h... yes
checking for sys/sendfile.h... no
checking for sys/socket.h... yes
checking for sys/soundcard.h... yes
checking for sys/stat.h... (cached) yes
checking for sys/statvfs.h... yes
checking for sys/sys_domain.h... no
checking for sys/syscall.h... yes
checking for sys/sysmacros.h... no
checking for sys/termio.h... no
checking for sys/time.h... yes
checking for sys/times.h... yes
checking for sys/timerfd.h... no
checking for sys/types.h... (cached) yes
checking for sys/uio.h... yes
checking for sys/un.h... yes
checking for sys/utsname.h... yes
checking for sys/wait.h... yes
checking for sys/xattr.h... no
checking for sysexits.h... yes
checking for syslog.h... yes
checking for termios.h... yes
checking for util.h... no
checking for utime.h... yes
checking for utmp.h... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/mkdev.h... (cached) no
checking for sys/sysmacros.h... (cached) no
checking for bluetooth/bluetooth.h... no
checking for net/if.h... yes
checking for linux/netlink.h... no
checking for netlink/netlink.h... yes
checking for linux/qrtr.h... no
checking for linux/vm_sockets.h... no
checking for linux/can.h... no
checking for linux/can/bcm.h... no
checking for linux/can/j1939.h... no
checking for linux/can/raw.h... no
checking for netcan/can.h... no
checking for clock_t in time.h... yes
checking for makedev... yes
checking for le64toh... no
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for ssize_t... yes
checking for __uint128_t... yes
checking size of int... 4
checking size of long... 8
checking alignment of long... 8
checking size of long long... 8
checking size of void *... 8
checking size of short... 2
checking size of float... 4
checking size of double... 8
checking size of fpos_t... 8
checking size of size_t... 8
checking alignment of size_t... 8
checking size of pid_t... 4
checking size of uintptr_t... 8
checking alignment of max_align_t... 16
checking for long double... yes
checking size of long double... 16
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... no
checking size of time_t... 8
checking for pthread_t... yes
checking size of pthread_t... 8
checking size of pthread_key_t... 4
checking whether pthread_key_t is compatible with int... yes
checking for --enable-framework... no
checking for --with-dsymutil... no
checking for dyld... no
checking for --with-address-sanitizer... no
checking for --with-memory-sanitizer... no
checking for --with-undefined-behavior-sanitizer... no
checking for --with-thread-sanitizer... no
checking the extension of shared libraries... .so
checking LDSHARED... $(CC) -shared
checking BLDSHARED flags... $(CC) -shared
checking CCSHARED... -fPIC
checking LINKFORSHARED... -Wl,--export-dynamic
checking CFLAGSFORSHARED... 
checking SHLIBS... $(LIBS)
checking perf trampoline... no
checking for sendfile in -lsendfile... no
checking for dlopen in -ldl... yes
checking for shl_load in -ldld... no
checking for uuid.h... yes
checking for uuid_create... yes
checking for uuid_enc_be... yes
checking for library containing sem_init... none required
checking for textdomain in -lintl... no
checking aligned memory access is required... yes
checking for --with-hash-algorithm... default
checking for --with-tzpath... "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for --with-system-expat... no
checking for libffi... no
checking for ffi.h... no
checking for --with-system-libmpdec... no
checking for --with-decimal-contextvar... yes
checking for decimal libmpdec machine... uint128
checking for sqlite3 >= 3.15.2... no
checking for sqlite3.h... no
checking for --enable-loadable-sqlite-extensions... no
checking for gdbm.h... no
checking for ndbm.h... yes
checking for library containing dbm_open... none required
checking for ndbm presence and linker args... yes ()
checking for gdbm/ndbm.h... no
checking for gdbm-ndbm.h... no
checking for db.h... yes
checking for libdb... no
checking for --with-dbmliborder... gdbm:ndbm:bdb
checking for _dbm module CFLAGS and LIBS... -DUSE_NDBM 
checking if PTHREAD_SCOPE_SYSTEM is supported... no
checking for pthread_sigmask... yes
checking for pthread_getcpuclockid... yes
checking if --enable-ipv6 is specified... no
checking CAN_RAW_FD_FRAMES... no
checking for CAN_RAW_JOIN_FILTERS... no
checking for --with-doc-strings... yes
checking for stdatomic.h... yes
checking for builtin __atomic_load_n and __atomic_store_n functions... yes
checking for --with-mimalloc... yes
checking for --with-pymalloc... yes
checking for --with-freelists... yes
checking for --with-c-locale-coercion... yes
checking for --with-valgrind... no
checking for --with-dtrace... no
checking for dlopen... yes
checking DYNLOADFILE... dynload_shlib.o
checking MACHDEP_OBJS... none
checking for accept4... yes
checking for alarm... yes
checking for bind_textdomain_codeset... no
checking for chmod... yes
checking for chown... yes
checking for clock... yes
checking for closefrom... yes
checking for close_range... yes
checking for confstr... yes
checking for copy_file_range... yes
checking for ctermid... yes
checking for dup... yes
checking for dup3... yes
checking for execv... yes
checking for explicit_bzero... yes
checking for explicit_memset... no
checking for faccessat... yes
checking for fchmod... yes
checking for fchmodat... yes
checking for fchown... yes
checking for fchownat... yes
checking for fdopendir... yes
checking for fdwalk... no
checking for fexecve... yes
checking for fork... yes
checking for fork1... no
checking for fpathconf... yes
checking for fstatat... yes
checking for ftime... no
checking for ftruncate... yes
checking for futimens... yes
checking for futimes... yes
checking for futimesat... yes
checking for gai_strerror... yes
checking for getegid... cyes
checking for getentropy... ayes
checking for geteuid... yes
checking for getgid... yes
checking for getgrgid... yes
checking for getgrgid_r... yes
checking for getgrnam_r... yes
checking for getgrouplist... yes
checking for getgroups... yes
checking for gethostname... yes
checking for getitimer... yes
checking for getloadavg... yes
checking for getlogin... yes
checking for getpeername... yes
checking for getpgid... yes
checking for getpid... yes
checking for getppid... yes
checking for getpriority... yes
checking for _getpty... no
checking for getpwent... yes
checking for getpwnam_r... yes
checking for getpwuid... yes
checking for getpwuid_r... yes
checking for getresgid... yes
checking for getresuid... yes
checking for getrusage... yes
checking for getsid... yes
checking for getspent... no
checking for getspnam... no
checking for getuid... yes
checking for getwd... yes
checking for if_nameindex... yes
checking for initgroups... yes
checking for kill... yes
checking for killpg... yes
checking for lchown... yes
checking for linkat... yes
checking for lockf... yes
checking for lstat... yes
checking for lutimes... yes
checking for madvise... yes
checking for mbrtowc... yes
checking for memrchr... yes
checking for mkdirat... yes
checking for mkfifo... yes
checking for mkfifoat... yes
checking for mknod... yes
checking for mknodat... yes
checking for mktime... yes
checking for mmap... yes
checking for mremap... no
checking for nice... yes
checking for openat... yes
checking for opendir... yes
checking for pathconf... yes
checking for pause... yes
checking for pipe... yes
checking for pipe2... yes
checking for plock... no
checking for poll... yes
checking for posix_fadvise... yes
checking for posix_fallocate... yes
checking for posix_spawn... yes
checking for posix_spawnp... yes
checking for posix_spawn_file_actions_addclosefrom_np... yes
checking for pread... yes
checking for preadv... yes
checking for preadv2... no
checking for pthread_condattr_setclock... yes
checking for pthread_init... no
checking for pthread_kill... yes
checking for pwrite... yes
checking for pwritev... yes
checking for pwritev2... no
checking for readlink... yes
checking for readlinkat... yes
checking for readv... yes
checking for realpath... yes
checking for renameat... yes
checking for rtpSpawn... no
checking for sched_get_priority_max... yes
checking for sched_rr_get_interval... yes
checking for sched_setaffinity... yes
checking for sched_setparam... yes
checking for sched_setscheduler... yes
checking for sem_clockwait... no
checking for sem_getvalue... yes
checking for sem_open... yes
checking for sem_timedwait... yes
checking for sem_unlink... yes
checking for sendfile... yes
checking for setegid... yes
checking for seteuid... yes
checking for setgid... yes
checking for sethostname... yes
checking for setitimer... yes
checking for setlocale... yes
checking for setpgid... yes
checking for setpgrp... yes
checking for setpriority... yes
checking for setregid... yes
checking for setresgid... yes
checking for setresuid... yes
checking for setreuid... yes
checking for setsid... yes
checking for setuid... yes
checking for setvbuf... yes
checking for shutdown... yes
checking for sigaction... yes
checking for sigaltstack... yes
checking for sigfillset... yes
checking for siginterrupt... yes
checking for sigpending... yes
checking for sigrelse... yes
checking for sigtimedwait... yes
checking for sigwait... yes
checking for sigwaitinfo... yes
checking for snprintf... yes
checking for splice... no
checking for strftime... yes
checking for strlcpy... yes
checking for strsignal... yes
checking for symlinkat... yes
checking for sync... yes
checking for sysconf... yes
checking for system... yes
checking for tcgetpgrp... yes
checking for tcsetpgrp... yes
checking for tempnam... yes
checking for timegm... yes
checking for times... yes
checking for tmpfile... yes
checking for tmpnam... yes
checking for tmpnam_r... no
checking for truncate... yes
checking for ttyname... yes
checking for umask... yes
checking for uname... yes
checking for unlinkat... yes
checking for utimensat... yes
checking for utimes... yes
checking for vfork... yes
checking for wait... yes
checking for wait3... yes
checking for wait4... yes
checking for waitid... yes
checking for waitpid... yes
checking for wcscoll... yes
checking for wcsftime... yes
checking for wcsxfrm... yes
checking for wmemcmp... yes
checking for writev... yes
checking for lchmod... yes
checking for cc -pthread options needed to detect all undeclared functions... -fno-builtin
checking whether dirfd is declared... yes
checking for chroot... yes
checking for link... yes
checking for symlink... yes
checking for fchdir... yes
checking for fsync... yes
checking for fdatasync... yes
checking for epoll_create... no
checking for epoll_create1... no
checking for kqueue... yes
checking for prlimit... no
checking for _dyld_shared_cache_contains_path... no
checking for memfd_create... yes
checking for eventfd... yes
checking for timerfd_create... no
checking for ctermid_r... yes
checking for flock declaration... yes
checking for flock... yes
checking for getpagesize... yes
checking for broken unsetenv... no
checking for true... true
checking for inet_aton in -lc... yes
checking for chflags... no
checking for lchflags... no
checking for zlib >= 1.2.0... no
checking for zlib.h... yes
checking for gzread in -lz... yes
checking for inflateCopy in -lz... yes
checking for bzip2... no
checking for bzlib.h... yes
checking for BZ2_bzCompress in -lbz2... yes
checking for liblzma... no
checking for lzma.h... yes
checking for lzma_easy_encoder in -llzma... yes
checking for hstrerror... yes
checking for getservbyname... yes
checking for getservbyport... yes
checking for gethostbyname... yes
checking for gethostbyaddr... yes
checking for getprotobyname... yes
checking for inet_aton... yes
checking for inet_ntoa... yes
checking for inet_pton... yes
checking for getpeername... (cached) yes
checking for getsockname... yes
checking for accept... yes
checking for bind... yes
checking for connect... yes
checking for listen... yes
checking for recvfrom... yes
checking for sendto... yes
checking for setsockopt... yes
checking for socket... yes
checking for setgroups... yes
checking for openpty... no
checking for openpty in -lutil... yes
checking for library containing login_tty... none required
checking for forkpty... yes
checking for fseek64... no
checking for fseeko... yes
checking for fstatvfs... yes
checking for ftell64... no
checking for ftello... yes
checking for statvfs... yes
checking for dup2... yes
checking for getpgrp... yes
checking for setpgrp... (cached) yes
checking for setns... no
checking for unshare... no
checking for clock_gettime... yes
checking for clock_getres... yes
checking for clock_settime... yes
checking for clock_nanosleep... yes
checking for nanosleep... yes
checking for major, minor, and makedev... yes
checking for getaddrinfo... yes
checking getaddrinfo bug... yes
checking for getnameinfo... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct stat.st_rdev... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_flags... yes
checking for struct stat.st_gen... yes
checking for struct stat.st_birthtime... yes
checking for struct stat.st_blocks... yes
checking for struct passwd.pw_gecos... yes
checking for struct passwd.pw_passwd... yes
checking for siginfo_t.si_band... yes
checking for time.h that defines altzone... no
checking for addrinfo... yes
checking for sockaddr_storage... yes
checking for sockaddr_alg... no
checking for an ANSI C-conforming const... yes
checking for working signed char... yes
checking for prototypes... yes
checking for socketpair... yes
checking if sockaddr has sa_len member... yes
checking for gethostbyname_r... yes
checking gethostbyname_r with 6 args... yes
checking for __fpu_control... no
checking for __fpu_control in -lieee... no
checking for --with-libm=STRING... default LIBM="-lm"
checking for --with-libc=STRING... default LIBC=""
checking for x64 gcc inline assembler... no
checking whether float word ordering is bigendian... no
checking whether we can use gcc inline assembler to get and set x87 control word... no
checking whether we can use gcc inline assembler to get and set mc68881 fpcr... no
checking for x87-style double rounding... yes
checking for acosh... yes
checking for asinh... yes
checking for atanh... yes
checking for erf... yes
checking for erfc... yes
checking for expm1... yes
checking for log1p... yes
checking for log2... yes
checking whether POSIX semaphores are enabled... no
checking for broken sem_getvalue... yes
checking whether RTLD_LAZY is declared... yes
checking whether RTLD_NOW is declared... yes
checking whether RTLD_GLOBAL is declared... yes
checking whether RTLD_LOCAL is declared... yes
checking whether RTLD_NODELETE is declared... yes
checking whether RTLD_NOLOAD is declared... yes
checking whether RTLD_DEEPBIND is declared... yes
checking whether RTLD_MEMBER is declared... no
checking digit size for Python's longs... no value specified
checking for wchar.h... (cached) yes
checking size of wchar_t... 0
checking whether wchar_t is signed... no
checking whether wchar_t is usable... no
checking whether byte ordering is bigendian... no
checking ABIFLAGS... 
checking SOABI... cpython-313
checking LDVERSION... $(VERSION)$(ABIFLAGS)
checking for --with-platlibdir... no
checking for --with-wheel-pkg-dir... no
checking whether right shift extends the sign bit... no
checking for getc_unlocked() and friends... yes
checking for readline... no
checking for readline/readline.h... no
checking how to link readline... no
checking for broken nice()... no
checking for broken poll()... no
checking for working tzset()... no
checking for tv_nsec in struct stat... yes
checking for tv_nsec2 in struct stat... yes
checking for curses.h... yes
checking for ncurses.h... yes
checking for ncursesw... no
checking for initscr in -lncursesw... yes
checking curses module flags... ncursesw (CFLAGS: , LIBS: -lncursesw)
checking for panel.h... yes
checking for panelw... no
checking for update_panels in -lpanelw... yes
checking panel flags... panelw (CFLAGS: , LIBS: -lpanelw)
checking for term.h... yes
checking whether mvwdelch is an expression... yes
checking whether WINDOW has _flags... yes
checking for curses function is_pad... yes
checking for curses function is_term_resized... yes
checking for curses function resize_term... yes
checking for curses function resizeterm... yes
checking for curses function immedok... yes
checking for curses function syncok... yes
checking for curses function wchgat... yes
checking for curses function filter... yes
checking for curses function has_key... yes
checking for curses function typeahead... yes
checking for curses function use_env... yes
configure: checking for device files
checking for /dev/ptmx... no
checking for /dev/ptc... no
checking for socklen_t... yes
checking for broken mbstowcs... yes
checking for --with-computed-gotos... no value specified
checking whether cc -pthread supports computed gotos... no
checking for build directories... done
checking for -O2... yes
checking for glibc _FORTIFY_SOURCE/memmove bug... yes
checking for ensurepip... upgrade
checking if the dirent structure of a d_type field... yes
checking for the Linux getrandom() syscall... no
checking for the getrandom() function... yes
checking for library containing shm_open... none required
checking for shm_open... yes
checking for shm_unlink... yes
checking for pkg-config... no
checking for include/openssl/ssl.h in /usr/local/ssl... no
checking for include/openssl/ssl.h in /usr/lib/ssl... no
checking for include/openssl/ssl.h in /usr/ssl... no
checking for include/openssl/ssl.h in /usr/pkg... no
checking for include/openssl/ssl.h in /usr/local... no
checking for include/openssl/ssl.h in /usr... yes
checking whether compiling and linking against OpenSSL works... yes
checking for --with-openssl-rpath... 
checking whether OpenSSL provides required ssl module APIs... yes
checking whether OpenSSL provides required hashlib module APIs... yes
checking for --with-ssl-default-suites... python
checking for --with-builtin-hashlib-hashes... md5,sha1,sha2,sha3,blake2
checking for libb2... no
checking for --disable-test-modules... yes
checking whether libatomic is needed by <pyatomic.h>... yes
checking for stdlib extension module _multiprocessing... yes
checking for stdlib extension module _posixshmem... yes
checking for stdlib extension module fcntl... yes
checking for stdlib extension module mmap... yes
checking for stdlib extension module _socket... yes
checking for stdlib extension module grp... yes
checking for stdlib extension module pwd... yes
checking for stdlib extension module resource... yes
checking for stdlib extension module _scproxy... n/a
checking for stdlib extension module syslog... yes
checking for stdlib extension module termios... yes
checking for stdlib extension module pyexpat... yes
checking for stdlib extension module _elementtree... yes
checking for stdlib extension module _md5... yes
checking for stdlib extension module _sha1... yes
checking for stdlib extension module _sha2... yes
checking for stdlib extension module _sha3... yes
checking for stdlib extension module _blake2... yes
checking for stdlib extension module _ctypes... missing
checking for stdlib extension module _curses... yes
checking for stdlib extension module _curses_panel... yes
checking for stdlib extension module _decimal... yes
checking for stdlib extension module _dbm... yes
checking for stdlib extension module _gdbm... missing
checking for stdlib extension module readline... missing
checking for stdlib extension module _sqlite3... disabled
checking for stdlib extension module _tkinter... missing
checking for stdlib extension module _uuid... yes
checking for stdlib extension module zlib... yes
checking for stdlib extension module _bz2... yes
checking for stdlib extension module _lzma... yes
checking for stdlib extension module _ssl... yes
checking for stdlib extension module _hashlib... yes
checking for stdlib extension module _testcapi... yes
checking for stdlib extension module _testclinic... yes
checking for stdlib extension module _testclinic_limited... yes
checking for stdlib extension module _testinternalcapi... yes
checking for stdlib extension module _testbuffer... yes
checking for stdlib extension module _testimportmultiple... yes
checking for stdlib extension module _testmultiphase... yes
checking for stdlib extension module xxsubtype... yes
checking for stdlib extension module _xxtestfuzz... yes
checking for stdlib extension module _ctypes_test... missing
checking for stdlib extension module xxlimited... yes
checking for stdlib extension module xxlimited_35... yes
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-embed.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/Setup.bootstrap
config.status: creating Modules/Setup.stdlib
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
configure: creating Modules/Setup.local
configure: creating Makefile
configure: WARNING: pkg-config is missing. Some dependencies may not be detected correctly.
configure:

If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations

configure: WARNING:

Platform "aarch64-unknown-freebsd13.2" with compiler "clang" is not supported by the
CPython core team, see https://peps.python.org/pep-0011/ for more information.

freebsd@generic:~/cpython % make

Output:

cc -pthread -c -pg  -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall  -O2 -pipe  -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include    -DPy_BUILD_CORE -o Programs/python.o ./Programs/python.c
cc -pthread -c -pg  -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall  -O2 -pipe  -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include    -DPy_BUILD_CORE -o Parser/token.o Parser/token.c
cc -pthread -c -pg  -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall  -O2 -pipe  -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include    -DPy_BUILD_CORE -o Parser/pegen.o Parser/pegen.c
In file included from Parser/pegen.c:3:
In file included from ./Include/internal/pycore_pystate.h:12:
In file included from ./Include/internal/pycore_runtime.h:17:
./Include/internal/pycore_interp.h:188:24: error: field has incomplete type 'struct _dtoa_state'
    struct _dtoa_state dtoa;
                       ^
./Include/internal/pycore_interp.h:188:12: note: forward declaration of 'struct _dtoa_state'
    struct _dtoa_state dtoa;
           ^
1 error generated.
*** Error code 1

Stop.
make: stopped in /home/freebsd/cpython

Environment

freebsd@generic:~/cpython % uname -a
FreeBSD generic 13.2-RELEASE FreeBSD 13.2-RELEASE releng/13.2-n254617-525ecfdad597 GENERIC arm64
freebsd@generic:~/cpython %

CPython versions tested on:

CPython main branch

Operating systems tested on:

Other

dineshbaburam91 commented 5 months ago

Kindly fix the issue, it is breaking to install on FREEBSD.

aisk commented 5 months ago

When investigating this issue, I found that building Python on FreeBSD with --enable-profiling, which leads to adding the -pg compile flag on x86_64, will cause the compiled binary to crash. This will mislead autoconf tools and result in invalid compiler/linker flags.

In my case, it wrongly specified -latomic linker flags, resulting in the compiling process stopping. This is described in issue #117452.

I suspect this is the same issue, but you are using an ARM machine, so the behavior may be different (-latomic is needed when building on ARM). Since I don't have an ARM device on which FreeBSD can run, I can't ensure this. Could you please check and post the config.log here in the CPython repository's root path after configuring and making?

furkanonder commented 5 months ago

When investigating this issue, I found that building Python on FreeBSD with --enable-profiling, which leads to adding the -pg compile flag on x86_64, will cause the compiled binary to crash. This will mislead autoconf tools and result in invalid compiler/linker flags.

In my case, it wrongly specified -latomic linker flags, resulting in the compiling process stopping. This is described in issue #117452.

I suspect this is the same issue, but you are using an ARM machine, so the behavior may be different (-latomic is needed when building on ARM). Since I don't have an ARM device on which FreeBSD can run, I can't ensure this. Could you please check and post the config.log here in the CPython repository's root path after configuring and making?

The file is quite long, 33952 lines. config.log

$ cat -n config.log | grep environ
  6860  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
  8477  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 16574  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 16921  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 19817  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 23292  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 23784  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 24213  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 25113  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 25567  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 26872  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 27759  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 28193  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 28636  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 29682  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 30139  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 30602  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
 31593  ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"

around 6860 lines from config.log

configure:13719: result: no
configure:13780: checking aligned memory access is required
configure:13813: cc -o conftest   -pg  conftest.c -ldl  >&5
configure:13813: $? = 0
configure:13813: ./conftest
ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
configure:13813: $? = 1

Also, I get the same result with your test program;

[freebsd@generic ~]$ cat a.c 
#include <stdlib.h>
#include <stdio.h>

int main() {
        puts(getenv("PATH"));
}
[freebsd@generic ~]$ clang -pg a.c -lutil
[freebsd@generic ~]$ ./a.out 
ld-elf.so.1: /lib/libc.so.7: Undefined symbol "environ"
[freebsd@generic ~]$ cc -v
FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)
Target: aarch64-unknown-freebsd13.2
Thread model: posix
InstalledDir: /usr/bin
[freebsd@generic ~]$ 
aisk commented 5 months ago

Yes, so I think it's the same problem. I reported it to FreeBSD upstream, maybe we can wait for their reply.

vstinner commented 3 months ago

@aisk:

Yes, so I think it's the same problem. I reported it to FreeBSD upstream, maybe we can wait for their reply.

Can you share the link of the FreeBSD issue?

Since the issue is in FreeBSD and not in Python (can be reproduced with a short C program), the issue was reported to FreeBSD, I close the issue. There is no need to track the issue in the Python bug tracker.