Esta é minha defconfig
versão ligeiramente modificada de configs/raspberrypi3_64_defconfig
:
$ cat defconfig
BR2_aarch64=y
BR2_cortex_a53=y
BR2_ARM_FPU_VFPV4=y
# patches
BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_SYSTEM_DHCP="eth0"
# Linux headers same as kernel, a 6.6 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,576cc10e1ed50a9eacffc7a05c796051d7343ea4)/linux-576cc10e1ed50a9eacffc7a05c796051d7343ea4.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3-64/config_3_64bit.txt"
# Required tools to create the SD image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
# Filesystem / image
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh"
# Enable compressed kernel module support
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_KMOD_TOOLS=y
BR2_PACKAGE_XZ=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_HOST_KMOD_XZ=y
emissão make
, estas são as últimas linhas da saída:
checking for library containing yywrap... -ll
checking for gawk... (cached) gawk
checking for ln -s or something else... ln -s
checking for __attribute__... no
checking for ld --version-script... yes
checking whether C compiler accepts -Wno-error=enum-conversion... yes
checking whether C compiler accepts -Wno-unused-but-set-variable... yes
checking for openldap... no
checking pkg-config is at least version 0.9.0... yes
checking for MICROHTTPD... no
checking for CJWT... no
checking for CJSON... no
checking for sqlite3... no
checking for libintl... no
checking for crypto library... included libhcrypto
checking if compiling threadsafe libraries... yes
checking for inline... inline
checking for an ANSI C-conforming const... yes
checking for size_t... no
checking for egrep... (cached) /usr/bin/grep -E
checking for pid_t... no
checking for uid_t... no
checking for gid_t... no
checking return type of signal handlers... void
checking for standards.h... no
checking for netinet/ip.h... no
checking for netinet/tcp.h... no
checking for egrep -e... (cached) /usr/bin/grep -E
checking for /home/mark/dev/buildroot/output/host/bin/ccache /usr/bin/gcc options needed to detect all undeclared functions... cannot detect
configure: error: in '/home/mark/dev/buildroot/output/build/host-heimdal-f4faaeaba371fff3f8d1bc14389f5e6d70ca8e17':
configure: error: cannot make /home/mark/dev/buildroot/output/host/bin/ccache /usr/bin/gcc report undeclared builtins
See 'config.log' for more details
make[1]: *** [package/pkg-generic.mk:279: /home/mark/dev/buildroot/output/build/host-heimdal-f4faaeaba371fff3f8d1bc14389f5e6d70ca8e17/.stamp_configured] Errore 1
make: *** [Makefile:83: _all] Errore 2
Procurei dentro da xconfig
ferramenta por host-heimdal
mas não encontrei nada. Por que ela falha? Quer dizer, não alterei nada sobre sua configuração.
ATUALIZAR
- Versão do Buildroot:2024.08-rc3
- Método de download: git clone
- Versão do host: Ubuntu 24.04
A causa raiz é um bug nas macros autoconf do heimdal.
Como uma solução rápida, você provavelmente pode adicionar
ac_cv_sys_large_files=1 ac_cv_sys_file_offset_bits=64
emHOST_HEIMDAL_CONF_ENV
heimdal.mk.O problema é que o script configure do heimdal usa a
AC_SYS_LARGEFILE
macro e, então, usa suas variáveis internasac_cv_sys_large_files
eac_cv_sys_file_offset_bits
. Essas variáveis foram removidas em uma atualização recente dessa macro.A correção adequada é provavelmente remover esse tratamento especial de largefile no script configure do upstream heimdal. Mas não sei por que isso foi introduzido em primeiro lugar...