2017-05-30 97 views
0

RHEL 7.3に最新のlibcurlをインストールできるように、このコンパイルエラーを修正する適切な方法は何ですか?RHEL 7.3で最新のlibcurlをビルドできません

最新のopensslを入手してビルドしてインストールすることができました。 OpenSSL 1.1.1-dev xx XXX xxxxは現在openssl versionによって報告されています。最新のカールはhttps://github.com/curl/curl.gitからクローン/プルされています。

CD=$(pwd) 
CPPFLAGS="-I$CD/zlib -I$CD/openssl -I$CD/openssl/include" 
LDFLAGS="-L$CD/zlib -L$CD/openssl" 
LIBS="-ldl" 
cd curl 
./buildconf 
./configure --disable-shared --with-zlib --with-ssl 
make 
make install 

エラーなしsudomake完了してバッチを実行する:ここでは私が使用しているbashスクリプトフラグメントです。 make installはこれを生成します。

CC  libcurl_la-openssl.lo 
vtls/openssl.c: In function 'Curl_ossl_seed': 
vtls/openssl.c:279:5: error: implicit declaration of function 'RAND_egd' [- 
Werror=implicit-function-declaration] 
    int ret = RAND_egd(data->set.str[STRING_SSL_EGDSOCKET]? 
^
cc1: some warnings being treated as errors 
make[2]: *** [libcurl_la-openssl.lo] Error 1 
make[2]: Leaving directory `/home/john/curl/lib' 
make[1]: *** [all] Error 2 
make[1]: Leaving directory `/home/john/curl/lib' 
make: *** [all-recursive] Error 1 
+0

ああ男、これは私はlibcurlのは、おそらくVTLS/openssl.cで行方不明#includeディレクティブを:( – arboreal84

+0

を構築していないについては、今日見てきた10番目の投稿です。arboreal84 @ –

+0

私もこれを投稿する前に、いくつかの古いリリースを引っ張って、得ましたRHEL 7.3でも同様のブロックエラーが発生していますが、それでもあなたはこれをカール設定の問題と考えていますか? –

答えて

1

編集:クリーナーバージョン で更新はここで私は心から、これは他の誰かを役に立てば幸い最新openssl

CD=$(pwd) 
echo Setting up openssl 
if [ ! -d openssl ]; then 
    git clone https://github.com/openssl/openssl.git 
    cd openssl 
else 
    cd openssl 
    git pull 
fi 
# you may not need -Wl,--enable-new-dtags but it works for me 
./config -Wl,--enable-new-dtags --prefix=/usr/local/ssl --openssldir=/usr/local/ssl 
make depend 
make 
sudo make install 
cd .. 

lib=zlib-1.2.11 
echo Setting up zlib 
if [ ! -d zlib ]; then 
    wget http://zlib.net/$lib.tar.gz 
    tar xzvf $lib.tar.gz 
    mv $lib zlib 
fi 
cd zlib 
./configure 
make 
cd .. 

echo Setting up curl ... 
CD=$(pwd) 

if [ ! -d curl ]; then 
    git clone https://github.com/curl/curl.git 
    cd curl 
else 
    cd curl 
    git pull 
fi 

cd curl 
./buildconf 
PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig LIBS="-ldl" ./configure --with- 
zlib=$CD/zlib --disable-shared 
make 
# I use local curl build without installing it 
# make install 
cd .. 

curlを構築するための手順です。

+0

@DanielStenberg私の回答を投票するのではなく、より正確な回答を提供する方が良いでしょう。 、きれいな解決策私はあなたが今アップアップすると確信しています。 –

1

RAND_egd()は、もはやデフォルトのOpenSSLインストールに含まれていません。 this git commitを参照してください。 configureコマンドにenable-egdを追加することで問題を解決できます。

関連する問題