当前位置:首页 > Linux > 正文内容

解决交叉编译arm-linux-gnueabihf/bin/ld: cannot find -*** 的类似报错

chanra1n6个月前 (04-14)Linux1053

交叉编译报错:

/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lpcre
/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lnettle
/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lgnutls

类似这样的,问题是缺少交叉编译的依赖库(libpcre、libnettle、libgnutls)

解决方法:

wget https://sourceforge.net/projects/pcre/files/pcre2/10.37/pcre2-10.37.tar.gz
tar -xzvf pcre2-10.37.tar.gz
cd  pcre2-10.37/
./configure --host=arm-linux-gnueabihf \
            --prefix=$HOME/arm-libs \
            --disable-shared \
            --enable-static
make -j$(nproc)
make install
cd ..

wget https://ftp.gnu.org/gnu/nettle/nettle-3.6.tar.gz
tar -xzvf nettle-3.6.tar.gz
cd nettle-3.6

./configure --host=arm-linux-gnueabihf \
            --prefix=$HOME/arm-libs \
            --enable-shared \
            --enable-static \
            --enable-mini-gmp

make -j$(nproc)
make install
cd ..

wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz
tar -xvf gmp-6.3.0.tar.xz
cd gmp-6.3.0

# 配置为 ARM 交叉编译
./configure --host=arm-linux-gnueabihf \
            --prefix=$HOME/arm-libs \
            --disable-shared \
            --enable-static

make -j$(nproc)
make install
cd ..

wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.0.tar.xz
tar -xvf gnutls-3.8.0.tar.xz
cd gnutls-3.8.0

export PKG_CONFIG_PATH=$HOME/arm-libs/lib/pkgconfig
export PKG_CONFIG_LIBDIR=$HOME/arm-libs/lib


# 配置时需指定依赖库路径
./configure --host=arm-linux-gnueabihf \
            --prefix=$HOME/arm-libs \
            --disable-shared \
            --enable-static \
            --with-included-libtasn1 \
            --with-included-unistring \
            --without-p11-kit \
            CPPFLAGS="-I$HOME/arm-libs/include" \
            LDFLAGS="-L$HOME/arm-libs/lib"

make -j$(nproc)
make install
cd ..

然后重新make就可以解决问题


扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://myfpga.cn/index.php/post/443.html

分享给朋友:

“解决交叉编译arm-linux-gnueabihf/bin/ld: cannot find -*** 的类似报错” 的相关文章

一键升级Centos6 Python至2.7.9 并安装宝塔

一键升级Centos6 Python至2.7.9 并安装宝塔

#直接复制运行命令即可 curl -o install.sh http://download.myfpga.cn/linux/centos/pythonandbt.sh && sh install.sh...

仅IPV6的VPS安装AWVS 13.x 14.x 并使用DNS NAT服务访问IPV4网页 教程展示Ubuntu18.x环境配置

仅IPV6的VPS安装AWVS 13.x 14.x 并使用DNS NAT服务访问IPV4网页 教程展示Ubuntu18.x环境配置

测试通过的环境:centos7 Ubuntu18.x1、使用root登录vps2、打开DNS NAT服务,通过修改DNS解析文件设置echo -e "nameserver 2001:67c:2b0::4\nameserver 2001:67c:2b0...

(挂机赚钱)任意Arm/X86架构Win/Linux安装猕猴桃CDN教程 树莓派 OrangePi 友善之臂 ArmCortex9

(挂机赚钱)任意Arm/X86架构Win/Linux安装猕猴桃CDN教程 树莓派 OrangePi 友善之臂 ArmCortex9

前言这应该是全网第一个任意Arm架构的猕猴桃安装教程,我已经安装实现了。想跑猕猴桃,点击右侧链接官网注册→, https://www.bdkjcdn.com/register X86平台X86  i386 Linux/Windows 等的部署请点击->宽带变现 每...

(原创)解决Leda2008、2014等新版本Unit Name为空的问题

(原创)解决Leda2008、2014等新版本Unit Name为空的问题

在Leda2007中可以正常加载编译过程文件,并且能够正确显示Unit Name,但是在2008以及更新版本的Leda中,使用相同操作发现Unit Name为空。这时可以采用这样的方法去启动Leda,问题即可解决:run_leda_2014 -sverilog +gui ...

(原创)解决X86_64使用Primetime时依赖库报错

(原创)解决X86_64使用Primetime时依赖库报错

运行以下代码即可,注意,相关路径如果不一致,根据自己实际的修改。sudo apt-get install -y wget wget https://myfpga.cn/download/libraries/libpng12.so.0 sudo&n...

(原创)解决X86_64运行DC时依赖库报错

(原创)解决X86_64运行DC时依赖库报错

sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/x86_64-linux-gnu/libtiff.so.3 sudo apt-get install libj...