Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4165519
  • 博文数量: 447
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 5786
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

读好书,交益友

文章分类

全部博文(447)

文章存档

2023年(6)

2022年(29)

2021年(49)

2020年(16)

2019年(15)

2018年(23)

2017年(67)

2016年(42)

2015年(51)

2014年(57)

2013年(52)

2012年(35)

2011年(5)

分类: C/C++

2022-09-01 15:05:00

准备在rust中使用curl库
cargo add curl
编译的时候
Compiling openssl-sys v0.9.75
error: failed to run custom build command for `openssl-sys v0.9.75`


Caused by:
  process didn't exit successfully: `/learning/rustproject/curlupload/target/debug/build/openssl-sys-88f374ddceb301fe/build-script-main` (exit status: 101)

需要静态编译openssl
下载openssl-1.1.1q
安装sudo apt-get install -y musl-dev musl-tools linux-headers-$(uname -r)
为了防止
出现
crypto/mem_sec.c:33:13: fatal error: linux/mman.h: No such file or directory
   33 | #   include
      |             ^~~~~~~~~~~~~~
compilation terminated.

建立软连接
sudo ln -s /usr/include/x86_64-linux-gnu/asm /usr/include/x86_64-linux-musl/asm 
sudo ln -s /usr/include/asm-generic /usr/include/x86_64-linux-musl/asm-generic 
sudo ln -s /usr/include/linux /usr/include/x86_64-linux-musl/linux

mkdir /learning/musl 
CC="musl-gcc -fPIE -pie -static -idirafter /usr/include/ -idirafter /usr/include/x86_64-linux-gnu/"  ./Configure no-shared no-async  --prefix=/learning/musl --openssldir=/learning/musl/ssl linux-x86_64
make depend
make -j$(nproc)
在rust工程目录
export PKG_CONFIG_ALLOW_CROSS=1
export OPENSSL_STATIC=true
export OPENSSL_DIR=/learning/musl 

 cargo build
阅读(1289) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~