【问题标题】:cross compiling util-linux for ARM, libtool/ld is not taking libs from LDFLAGS path为 ARM 交叉编译 util-linux,libtool/ld 没有从 LDFLAGS 路径中获取库
【发布时间】:2016-10-04 21:04:52
【问题描述】:
OS_COMP_DIR="/home/dev_team/prebuilt"  
export CROSS_COMPILE="arm-linux-gnueabi"  
export CPPFLAGS=" -I$OS_COMP_DIR/usr/include "  
export LDFLAGS=" -L$OS_COMP_DIR/usr/lib/"  
export AR="/usr/bin/arm-linux-gnueabi-gcc-ar-4.9"  
export AS="/usr/bin/arm-linux-gnueabi-as-4.9"  
export LD="/usr/bin/arm-linux-gnueabi-ld-4.9"  
export RANLIB="/usr/bin/arm-linux-gnueabi-gcc-ranlib-4.9"  
export CC="/usr/bin/arm-linux-gnueabi-gcc-4.9"  
export CPP="/usr/bin/arm-linux-gnueabi-cpp-4.9"  
export CXX="/usr/bin/arm-linux-gnueabi-g++-4.9"  
export NM="/usr/bin/arm-linux-gnueabi-nm"  
cd util-linux-2.28.2
./configure --build=i686-pc-linux-gnu --target=${CROSS_COMPILE} --host=${CROSS_COMPILE}
make V=1

构建时出现以下错误,即使所有这些库都在LDFLAGS 中提到的目录中,但不知道“.libs”来自哪里

arm-linux-gnueabi-gcc-4.9: error: ./.libs/libmount.so: No such file or directory
arm-linux-gnueabi-gcc-4.9: error: /home/dev_team/workspace/util-linux-2.28.2/.libs/libblkid.so: No such file or directory
arm-linux-gnueabi-gcc-4.9: error: /home/dev_team/workspace/util-linux-2.28.2/.libs/libuuid.so:No such file or directory

如果有人知道这个问题的解决方案,请帮助我,谢谢

【问题讨论】:

    标签: linux arm cross-compiling embedded-linux


    【解决方案1】:

    你已经在配置命令行中指定了LDFLAGS

    ./configure --build=i686-pc-linux-gnu --target=${CROSS_COMPILE} --host=${CROSS_COMPILE} LDFLAGS=-L/home/dev_team/prebuilt/usr/lib/ make V=1

    或者你可以添加到你的环境中:

    export LD_LIBRARY_PATH=" -L$OS_COMP_DIR/usr/lib/"
    export LIBRARY_PATH=" -L$OS_COMP_DIR/usr/lib/"
    

    【讨论】:

    • 我仍然遇到同样的错误,尝试了这两个选项。我真的不明白为什么它会在 .libs 中查找而不是查看给定的库路径
    • Grep LDFLAGS 通过您的配置,或开源并检查如何传递链接器选项
    猜你喜欢
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2021-07-10
    • 2016-07-11
    • 2017-02-03
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多