GNU/Linux >> Linux の 問題 >  >> Linux

Rubyインストールエラーを修正する方法:EC_GROUP_new_curve_GF2mが宣言されていません(この関数での最初の使用)?

質問: CentOSマシンでRubyバージョン1.9.3をコンパイルしていて、 make の実行中に、以下のエラーメッセージが表示されました。 コマンド。

EC_GROUP_new_curve_GF2m undeclared (first use in this function)

ossl_pkey_ec.cのコンパイル中にエラーが発生しました ファイル。

完全なエラーのスナップショットは次のとおりです。

# ./configure
#make
 ossl_pkey_ec.c: In function âossl_ec_group_initializeâ:
 ossl_pkey_ec.c:761:17: warning: implicit declaration of function âEC_GF2m_simple method [-Wimplicit-function-declaration]
 method = EC_GF2m_simple_method();
 ^
 ossl_pkey_ec.c:761:24: warning: assignment makes pointer from integer without a cast [enabled by default] method = EC_GF2m_simple_method();
 ^
 ossl_pkey_ec.c:816:29: error: âEC_GROUP_new_curve_GF2mâ undeclared (first use in this function) new_curve = EC_GROUP_new_curve_GF2m;
 ^
 ossl_pkey_ec.c:816:29: note: each undeclared identifier is reported only once for each function it appears in
 make[2]: *** [ossl_pkey_ec.o] Error 1
 make[2]: Leaving directory `/root/ruby-1.9.3-p374/ext/openssl'
 make[1]: *** [ext/openssl/all] Error 2
 make[1]: Leaving directory `/root/ruby-1.9.3-p374'
 make: *** [build-ext] Error 2

エラーを解決するのを手伝ってください。

解決策:

エラーメッセージEC_GROUP_new_curve_GF2mundeclared(この関数での最初の使用)での簡単なGoogle検索 これは、OpenSSLビルドを使用したRubyの既知のバグであるとほのめかしました。幸い、開発者はパッチで問題を修正しました。

Rubyをビルド(作成)する前に、以下の手順に従ってパッチを実行してください:

ステップ1 :現在の作業ディレクトリはRubyソースディレクトリだと思います。

ステップ2 :以下に示すようにパッチをダウンロードします:

# wget https://bugs.ruby-lang.org/attachments/download/3707/out.patch
# ls out.patch
out.patch

ステップ3 :パッチを適用する必要のあるファイルを見つけます。上記のエラーメッセージから、バグが「ossl_pkey_ec.c」ファイルに存在することは明らかです。

# find . -name ossl_pkey_ec.c
./ext/openssl/ossl_pkey_ec.c

ステップ4 :ダウンロードしたパッチを実行する

# patch ./ext/openssl/ossl_pkey_ec.c < out.patch
patching file ./ext/openssl/ossl_pkey_ec.c
Hunk #1 succeeded at 757 (offset -5 lines).
Hunk #2 succeeded at 814 (offset -5 lines).
patching file ./ext/openssl/ossl_pkey_ec.c
Hunk #1 FAILED at 7.
1 out of 1 hunk FAILED -- saving rejects to file ./ext/openssl/ossl_pkey_ec.c.rej

これでパッチが完了しました。 Rubyをもう一度構築してみてください。

[Ruby_source_directory] # make

お役に立てば幸いです。


Linux
  1. 「gpg:keyserver receive failed:Nodirmngr」エラーを修正する方法

  2. Linuxでのcron認証失敗エラーを修正するにはどうすればよいですか?

  3. OpenStackエラーを修正する方法–ネットワークの削除に失敗しましたか? [解決済み]

  1. Rubyインストールエラーを修正する方法:EC_GROUP_new_curve_GF2mが宣言されていません(この関数での最初の使用)?

  2. 未定義の関数apc_fetch()の呼び出しを修正する方法–PHPの致命的なエラー[解決済み]

  3. 修正方法-Apacheエラー:一致するDirectoryIndexがありませんか?

  1. Vi / Vim Editor エラーの修正方法 — E319:このバージョンではコマンドを使用できません

  2. 「ホストキーの検証に失敗しました」というエラーを修正する方法

  3. Linux でコマンド ライン シェル関数を使用する方法