libcrypto.so:未定义对"fcntl@GLIBC_2.28"的引用



我在x86上执行ARM交叉编译,我有一个如下的工具链:

SET(CMAKE_SYSTEM_NAME Linux)    
include(CMakeForceCompiler)
SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)    
SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)`

我已经编写了自己的脚本来交叉编译我的代码以生成二进制文件。在我的脚本中,我安装了以下工具:

apt-get install -y debootstrap build-essential cmake libssl-dev:armhf gcc-arm-linux* g++-arm-linux*  openssl:armhf libssl-dev:armhf curl:armhf libcurl4-gnutls-dev:armhf libtirpc-dev:armhf

我在我的ubuntu 18.04操作系统上安装了openssl 1.1.1f,在运行我的脚本时,我得到了以下错误:

libcrypto.so: undefined reference to `fcntl@GLIBC_2.28'

注意:这个libcrypto.so库是我在ubuntu 20.04上构建的,现在交叉编译是在ubuntu18.04上完成的

您的libcrypto.so正在引用glibc(所有东西的基本库(2.28版本中的一个函数,该函数在您于20.04构建时存在,但现在您在18.04上构建的是另一个不兼容的glibc版本。

阻力最小的路径可能是使用当前的工具链重建openssl。

相关内容

  • 没有找到相关文章

最新更新