2

Я пытаюсь кросс-компилировать библиотеку Newlib для устройств ARM, используя arm-none-eabi-XXX от CodeSourcery, но у меня возникли некоторые проблемы. При запуске ./configure и / или заставьте его показывать мне сообщения о том, что arm-none-eabi-cc не может быть найден. Мой путь настроен правильно. Я могу вызвать arm-none-eabi-xxx из терминала от имени пользователя root и пользователя.

Команда:

sudo ./configure --target=arm-none-eabi  --prefix=/usr/local/arm-eabi/bin --disable-newlib-supplied-syscalls

Результат:

checking for arm-none-eabi-cc... no
checking for arm-none-eabi-gcc... no
checking for arm-none-eabi-c++... no
checking for arm-none-eabi-g++... no


sudo make:
/bin/sh: arm-none-eabi-cc: command not found

Но путь настроен правильно ...

kris@caspinol /usr/local/newlib $ arm
arm2hpdl                 arm-none-eabi-c++        arm-none-eabi-elfedit    arm-none-eabi-gcov       arm-none-eabi-ld         arm-none-eabi-ranlib     arm-none-eabi-sprite     
arm-none-eabi-addr2line  arm-none-eabi-cc         arm-none-eabi-g++        arm-none-eabi-gdb        arm-none-eabi-nm         arm-none-eabi-readelf    arm-none-eabi-strings    
arm-none-eabi-ar         arm-none-eabi-c++filt    arm-none-eabi-gcc        arm-none-eabi-gdbtui     arm-none-eabi-objcopy    arm-none-eabi-run        arm-none-eabi-strip      
arm-none-eabi-as         arm-none-eabi-cpp        arm-none-eabi-gcc-4.6.3  arm-none-eabi-gprof      arm-none-eabi-objdump    arm-none-eabi-size       
kris@caspinol /usr/local/newlib $ arm

Я пропускаю некоторые аргументы на этапе настройки ??

Любая помощь с благодарностью.

заранее спасибо

1 ответ1

0

Мне очень жаль, что я так поздно. Я только что столкнулся с этой проблемой, и я пытался решить ее всеми способами, которые люди предлагали в сети (поэтому я наткнулся на этот вопрос). Кажется, проблема в том, что sudo не передает переменные окружения; $ PATH (очищен и) повторно инициализирован, поэтому бесполезно настраивать $ PATH перед выдачей sudo make install.

Я сделал человека sudo ... Не помогло мне. Я также попробовал man su и нашел su -m (или su -e). Те, кажется, не работают, как рекламируется. Итак, наконец, я узнал, что вы можете ...

sudo env "PATH=$PATH" make install && echo "Success!"

Если вы не видите «Удачи!msgstr ", значит, вам может понадобиться запустить make install ДВАЖДЫ! Кажется, где-то в дистрибутиве newlib есть ошибка, которая вызывает ошибку из-за отсутствия каталога; это создается со второй попытки. Я не знаю, почему это не исправлено. Мое решение ...

make CFLAGS_FOR_TARGET="-D__IEEE_BIG_ENDIAN -D__IEEE_BYTES_LITTLE_ENDIAN -D__BUFSIZ__=64" && sudo env="PATH=$PATH" make install && sudo env="PATH=$PATH" make install && echo "Success!"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .