嘿大家,
我正在尝试构建一个名为RamCloud on CentOS Linux release 7.4.1708的项目
这个项目具体要求gcc 4.9,用我的零用钱,我只有gcc 4.8,所以我不得不:
sudo yum remove --skip-broken gcc中完全删除gcc4.8sudo yum install centos-release-sclsudo yum install devtoolset-3scl enable devtoolset-3 bash这有助于我以前的一些错误,但是现在当我尝试运行sudo make -j12来构建项目时,我会得到与devtoolset相关的错误。
这是错误的样子:
/opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld:找不到-lssl /opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld:找不到-lcrypto collect2:-lcrypto: ld返回了一个退出状态:主程序/应用程序/客户端错误1stackNewlinemake:等待未完成的jobs....
我不确定,但我认为这是一个连接问题,有人以前遇到过这种情况吗?
发布于 2018-02-09 19:11:50
这两个错误都与未安装的OpenSSL开发库有关( -lssl是一个相当死气沉沉的工具)。
-lssl可以分为-l,意思是“链接与”,以及ssl,这是gcc想要的图书馆链接。通常,要链接的文件名为lib<whatever_comes_after_the_-l>.a,它需要头文件。文件和头位于dev (基于Debian)或devel (基于RPM的)包中。在这里,ssl -> openssl,但是您需要开发包,所以它要么是openssl,要么是openssl。
因此,现在可以搜索包含lib<whatever_comes_after_the_-l>.a的包。对于基于Debian的发行版,我安装apt-file。
在Debian:
apt-file update
apt-file search libssl.a 在CentOS中:
rpm -q -f libssl.a在Debian/Ubuntu中,要安装它们,请执行:
sudo apt-get install libssl-dev在CentOS中,要安装它们,请执行以下操作:
sudo yum install openssl-develhttps://unix.stackexchange.com/questions/423107
复制相似问题