Yocto Jethro: Как выбрать компилятор по умолчанию Yocto? Ошибка glibc в do_compile при использовании gcc 4.9

Из-за старой Das u-boot из ветки HEAD, у которой еще нет gcc 5, я планирую использовать gcc 4.8 или 4.9 в качестве компилятора по умолчанию вместо 5.2.

GCC требуется виртуальный /libc glibc-2.22. glibc-2.22 успешно соответствует 5.2. К сожалению, это не удалось в do_compile с ошибкой: ld: cannot find -lgcc с gcc 4.8 и 4.9

arm-poky-linux-gnueabi-gcc  -march=armv7-a -marm  -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/yocto/hio-jethro/build-hio/tmp/sysroots/hio-imx6dl-board-tcbootstrap   -nostdlib -nostartfiles -r -o /yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/build-arm-poky-linux-gnueabi/elf/librtld.map.o '-Wl,-(' /yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/build-arm-poky-linux-gnueabi/elf/dl-allobjs.os /yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/build-arm-poky-linux-gnueabi/libc_pic.a -lgcc '-Wl,-)' -Wl,-Map,/yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/build-arm-poky-linux-gnueabi/elf/librtld.mapT
/yocto/hio-jethro/build-hio/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi.gcc-cross-initial-arm/../../libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/5.2.0/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
make[2]: *** [/yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/build-arm-poky-linux-gnueabi/elf/librtld.map] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/git/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/yocto/hio-jethro/build-hio/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glibc/2.22-r0/git'
make: *** [all] Error 2
ERROR: oe_runmake failed

Я смотрю на правильную ошибку? и как мне добавить -lgcc?

Изменить: Я проверил с Fido Branch, и все работает нормально. Возможно, мне просто нужно заменить gcc и glibc на Fido

1 ответ

Решение

Как вы сказали, чтобы использовать GCC 4? Пути по-прежнему ссылаются на 5.2.0, что говорит о том, что вы не изменили его правильно. Правильный способ изменить версию GCC - установить GCCVERSION, т.е. GCCVERSION="4.%",

Также u-boot в jethro прекрасно поддерживает gcc5, так почему вы используете старую версию?

Другие вопросы по тегам