glib c терпит неудачу при выполнении битбейка [версия SUMO] - PullRequest
1 голос
/ 20 января 2020

Я пытаюсь создать образ Yocto, используя версию sumo, все выглядит нормально, но при компиляции glib c 2.27 происходит сбой и выдается следующая ошибка.

| /media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/build-i586-poky-linux/nptl/libpthread_pic.a(old_pthread_atfork.os): In function `__dyn_pthread_atfork':
| /usr/src/debug/glibc/2.27-r0/git/nptl/pthread_atfork.c:51: undefined reference to `__dso_handle'
| /media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/recipe-sysroot-native/usr/bin/i586-poky-linux.gcc-cross-initial-i586/../../libexec/i586-poky-linux.gcc-cross-initial-i586/gcc/i586-poky-linux/7.3.0/ld: /media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/build-i586-poky-linux/nptl/libpthread_pic.a(old_pthread_atfork.os): relocation R_386_GOTOFF against undefined hidden symbol `__dso_handle' can not be used when making a shared object
| /media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/recipe-sysroot-native/usr/bin/i586-poky-linux.gcc-cross-initial-i586/../../libexec/i586-poky-linux.gcc-cross-initial-i586/gcc/i586-poky-linux/7.3.0/ld: final link failed: Bad value
| collect2: error: ld returned 1 exit status
| ../Makerules:599: recipe for target '/media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/build-i586-poky-linux/nptl/libpthread.so' failed
| make[2]: *** [/media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/build-i586-poky-linux/nptl/libpthread.so] Error 1
| make[2]: Ledatag directory '/media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/git/nptl'
| Makefile:235: recipe for target 'nptl/others' failed
| make[1]: *** [nptl/others] Error 2
| make[1]: Ledatag directory '/media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/git'
| Makefile:9: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /media/data/68DC2D4CDC2D163A/data_Build/build/tmp/work/i586-poky-linux/glibc/2.27-r0/temp/log.do_compile.6080)

Я проверил следующий вопрос, но он не работает. Я пробовал в Ubuntu в обоих Ubuntu 16 и 18. Есть ли решение этой проблемы?

1 Ответ

1 голос
/ 23 января 2020

У меня было это сообщение об ошибке при сборке raspberry pi на внешнем диске. Удалось обойти это, выполнив чистую сборку на SSD моего хоста и убедившись, что я использовал bash вместо da sh с помощью следующей команды:

sudo dpkg-reconfigure dash

Выберите Нет до Да sh при появлении запроса. Также стоит попробовать:

sudo apt-get update 

и установить все необходимые пакеты Yocto:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
     xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
     pylint3 xterm
...