GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit chybu instalace Ruby:EC_GROUP_new_curve_GF2m nedeklarováno (první použití v této funkci)?

Otázka: Kompiloval jsem Ruby verzi 1.9.3 na počítači CentOS a při provádění make se mi zobrazila níže uvedená chybová zpráva příkaz.

EC_GROUP_new_curve_GF2m undeclared (first use in this function)

Při kompilaci ossl_pkey_ec.c došlo k chybě soubor.

Zde je snímek úplné chyby:

# ./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

Pomozte mi vyřešit chybu.

Řešení:

Jednoduché vyhledávání Google na chybové zprávě EC_GROUP_new_curve_GF2m undeclared (první použití v této funkci) naznačil, že jde o známou chybu v Ruby se sestavou OpenSSL. Naštěstí vývojáři problém vyřešili pomocí opravy.

Před vytvořením (vytvoření) Ruby postupujte podle následujících kroků a spusťte opravu:

Krok 1 :Předpokládám, že váš současný pracovní adresář je zdrojový adresář Ruby.

Krok 2 :Stáhněte si opravu, jak je znázorněno níže:

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

Krok 3 :Najděte soubor, který potřebujete opravit. Z výše uvedené chybové zprávy je zřejmé, že chyba je přítomna v souboru ‚ossl_pkey_ec.c‘.

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

Krok 4 :Spusťte staženou opravu

# 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

Nyní je záplata hotová. Zkuste znovu postavit Ruby.

[Ruby_source_directory] # make

Doufám, že to pomůže.


Linux
  1. Jak opravit chybu „gpg:příjem keyserveru selhal:Žádný dirmngr“ Chyba

  2. Jak opravit chybu Cron Authentication Failure v Linuxu?

  3. Jak opravit chybu instalace Pythonu při načítání sdílených knihoven:libssl.so.1.0.0? [vyřešeno]

  1. Jak opravit chybu OpenStack – nepodařilo se odstranit síť? [vyřešeno]

  2. Jak opravit chybu instalace Ruby:EC_GROUP_new_curve_GF2m nedeklarováno (první použití v této funkci)?

  3. Jak opravit volání nedefinované funkce apc_fetch() – Závažná chyba PHP [Vyřešeno]

  1. Jak opravit - Chyba Apache:Žádný odpovídající DirectoryIndex?

  2. Jak opravit chybu editoru Vi / Vim — E319:Omlouváme se, ale příkaz není v této verzi dostupný

  3. Jak opravit chybu „Ověření klíče hostitele se nezdařilo“