Почему armv7l-unknown-linux-gnueabihf-objdump выдает недопустимую цель bfd при запуске?

В настоящее время я создаю Binutils 2.32 для цели armv7l-unknown-linux-gnueabihf с помощью этой команды configure:

chronos@localhost ~/Downloads/tarballs/binutils-2.32 $ ./configure --prefix=/usr/local/opt/arm-cross --target=armv7l-unknown-linux-gnueabihf --enable-shared --enable-host-shared --disable-static --enable-plugins --enable-gold=default --enable-ld --with-system-zlib

Я запустил make -j3 && make install, ошибок не было.

Однако, когда я добавил /usr/local/opt/arm-cross/bin к своему пути и запустил armv7l-unknown-linux-gnueabihf-objdump, возникла эта ошибка:

armv7l-unknown-linux-gnueabihf-objdump: can't set BFD default target to `armv7l-unknown-linux-gnueabihf': invalid bfd target

Как я могу это исправить? Я искал в Stack Overflow и Google и ничего не мог придумать.


person S.S. Anne    schedule 29.06.2019    source источник


Ответы (1)


Вы настроили с помощью --enable-shared --enable-host-shared --disable-static. Это означает, что вам нужно убедиться, что программы binutils могут найти нужные им общие объекты. Поэтому в дополнение к PATH вы должны использовать LD_LIBRARY_PATH или иным образом сделать библиотеку BFD доступной для вашей пользовательской сборки binutils.

Однако это может повлиять на то, как другие установленные версии binutils находят свою библиотеку BFD, поэтому может быть проще связать вашу версию статически.

person Florian Weimer    schedule 29.06.2019