gccビルドエラー:-lsslが見つかりません

gccビルドエラー:-lsslが見つかりません


こんにちは皆さん、
私は次のようなプログラムを作ろうとしています。メモリクラウドCentOS Linux release 7.4.1708
このプロジェクトに特に必要GCC 4.9私のCentosではGCC 4.8だから私は次のことをしなければなりません:

  • 私のシステムからgcc4.8を完全に削除しました。sudo yum remove --skip-broken gcc
  • SCLのインストールsudo yum install centos-release-scl
  • インストールする 開発ツールセット-3 含むGCC 4.9 sudo yum install devtoolset-3
  • 開発ツールセットの有効化scl enable devtoolset-3 bash

これは以前に発生したいくつかのエラーを解決するのに役立ちましたが、sudo make -j12プロジェクトをビルドするために実行しようとすると、次のエラーが発生します。開発ツールセット
エラーは次のとおりです。

/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:エラー:ldが1つの終了ステータスを返しました。
make: [obj.master/apps/client] エラー 1
make:終わらない仕事を待っています...

わかりませんが、接続の問題のようです。以前この問題を経験した人はいますか?

ベストアンサー1

どちらのエラーもOpenSSL開発ライブラリがインストールされていないことに関連しています(-lsslは非常に危険です)。

「リンク」を意味するものと、gccがリンクする必要がある必須ライブラリに分けることが-lsslできます。通常、リンクするファイルには名前が付けられ、ヘッダーが必要です。ファイルとヘッダーはdev(Debianベース)またはdevel(RPMベース)パッケージにあります。ここではssl -> opensslですが、開発パッケージが必要なので、openssl-devまたはopenssl-develです。-lssllib<whatever_comes_after_the_-l>.a

これで検索できます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-devel

おすすめ記事