отсутствует поддержка __attribute__ ((конструктор)) при сборке glibc для aarch64

я пытаюсь создать образ для ARM с помощью OpenEmbedded/Yocto

при сборке 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 я нашел несколько списки рассылки, где кто-то говорит, что мне нужно добавить "'libc_cv_ctors_header=yes' в конец вызова configure". Но я не знаю, как это сделать. core-image-sato работает.


person Sebastian L    schedule 14.12.2018    source источник
comment
Какова целевая тройка вашего компилятора и компоновщика? Должно быть что-то вроде aarch64-unknown-linux-gnu. Я предполагаю, что вместо этого вы используете голую цель ELF.   -  person Florian Weimer    schedule 15.12.2018
comment
О, я думал, что использование bitbake гарантирует, что будет использоваться только один целевой компилятор (в моем случае aarch64-poky-linux...), как я могу определить, какой из них используется?   -  person Sebastian L    schedule 18.12.2018


Ответы (1)


Я только что столкнулся с этой проблемой, вы видели ответ здесь:

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' в конец вызова configure

означает добавить libc_cv_ctors_header=yes в конец аргументов ./configure, как это сделал парень на linuxquestions.org в своем ответе

person Y00    schedule 04.01.2020