我当前正在使用configure
命令为armv7l-unknown-linux-gnueabihf目标构建Binutils 2.32:
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上搜索,却一无所获。
答案 0 :(得分:1)
您使用--enable-shared --enable-host-shared --disable-static
配置。这意味着您需要确保binutils程序可以找到所需的共享库。因此,除了PATH
之外,您还必须使用LD_LIBRARY_PATH
,否则BFD库可用于您的自定义binutils构建。
但是,这可能会影响其他已安装的binutils版本查找其BFD库的方式,因此可以更轻松地静态链接您的版本。