cargo编译musl报错openssl怎么办
本篇内容主要讲解“cargo编译musl报错openssl怎么办”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“cargo编译musl报错openssl怎么办”吧!
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站建设、平定网络推广、微信小程序开发、平定网络营销、平定企业策划、平定品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供平定建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
cargo编译musl报错openssl
背景
生产环境和编译环境的glibc
版本不同出现来如下报错
/lib64/libc.so.6: version `GLIBC_x.xx' not found
所以需要使用cargo 跨平台编译x86_64-unknown-linux-musl
,而后就报出来openssl相关的错误:
--- stderr thread 'main' panicked at ' Could not find directory of OpenSSL installation, and this `-sys` crate cannot proceed without this knowledge. If OpenSSL is installed and this crate had trouble finding it, you can set the `OPENSSL_DIR` environment variable for the compilation process. Make sure you also have the development packages of openssl installed. For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora. If you're in a situation where you think the directory *should* be found automatically, please open a bug at https://github.com/sfackler/rust-openssl and include information about your system as well as this message. $HOST = x86_64-unknown-linux-gnu $TARGET = x86_64-unknown-linux-musl openssl-sys = 0.9.48
原因
上文总结一句话:编译器没找到ssl的dev包,并给出来debian和red-hat的解决方法。但很可惜,我的编译环境是manjaro,没有libssl_dev类似的包
解决
对于debian/ubuntu就是
apt-get install libssl-dev
对于centos/fedora就是
yum install -y openssl-devel
对于Arch/manjaro,在确保安装openssl情况下
export OPENSSL_DIR=/usr
具体过程通过命令找到libssl.so
文件路径(这里是/usr/lib/libsso.so)。编译时会连接OPENSSL_DIR/lib/libssl.so
。因此这里的OPENSSL_DIR
就是/usr
了。
到此,相信大家对“cargo编译musl报错openssl怎么办”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
分享名称:cargo编译musl报错openssl怎么办
文章转载:http://scyanting.com/article/gejijh.html