为aarch64构建glibc时缺少__attribute__((constructor))支持

时间:2018-12-14 13:55:18

标签: glibc yocto configure openwrt openembedded

我正在尝试使用OpenEmbedded / Yocto为ARM构建映像

在构建glibc时,出现以下错误消息:

[...]
| checking whether to use .ctors/.dtors header and trailer... configure: error: missing __attribute__ ((constructor)) support??
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/server/git/poky/build/tmp/work/aarch64-poky-linux/glibc-initial/2.28-r0/temp/log.do_configure.21953)
ERROR: Task (/home/server/git/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb:do_configure) failed with exit code '1'

我要构建的图层meta-openwrt

我的local.conf看起来像这样:

MACHINE ?= "jetson-tx1"
DISTRO ?= "poky"
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"
SSTATE_MIRRORS = "\
     file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \
     file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH \n \
     file://.* http://sstate.yoctoproject.org/2.6/PATH;downloadfilename=PATH \n \
     "
IMAGE_CLASSES += "image_types_tegra"
IMAGE_FSTYPES = "tegraflash"
TARGET_CFLAGS += " -lcrypt"

在Google的帮助下,我找到了mailinglists,其中有人说我需要在配置调用的末尾添加“'libc_cv_ctors_header = yes'”。 但是我不知道该怎么做。 core-image-sato有效。

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了这个问题,您在这里看到了答案:

http://lists.linuxfromscratch.org/pipermail/lfs-dev/2011-August/064955.html https://www.linuxquestions.org/questions/linux-from-scratch-13/error-compiling-glibc-2-28-in-lfs-8-3-a-4175644816/

在配置调用的末尾添加“ libc_cv_ctors_header = yes”

意味着将libc_cv_ctors_header = yes添加到./configure参数的末尾,就像linuxquestions.org上的家伙在他的回答中所做的那样