Компиляция openssl с ruby ​​на windows - PullRequest
2 голосов
/ 14 июля 2010

Я пытаюсь скомпилировать openssl с моей конфигурацией ruby ​​на компьютере под управлением Windows с MingW.

Я использую ruby ​​1.9.2rc2 с этими командами:

$ ruby extconf.rb --with-openssl-dir=/c/openssl
...
...
...
=== Checking done. ===
creating extconf.h
creating Makefile
Done.

Это работает без каких-либоошибки.Когда я пытаюсь make:

$ make
gcc -I. -Ic:/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/c/Ruby192/include/ruby-1
.9.1/ruby/backward -I/c/Ruby192/include/ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"extcon
f.h\" -Ic:/openssl/include    -O3 -g -Wall -Wno-unused-parameter -Wno-parenthese
s -Wpointer-arith -Wwrite-strings -Wno-long-long  -o openssl_missing.o -c openss
l_missing.c
In file included from openssl_missing.c:22:
openssl_missing.h:71: error: conflicting types for 'HMAC_CTX_copy'
c:/openssl/include/openssl/hmac.h:102: error: previous declaration of 'HMAC_CTX_
copy' was here
openssl_missing.h:71: error: conflicting types for 'HMAC_CTX_copy'
c:/openssl/include/openssl/hmac.h:102: error: previous declaration of 'HMAC_CTX_
copy' was here
openssl_missing.h:95: error: conflicting types for 'EVP_CIPHER_CTX_copy'
c:/openssl/include/openssl/evp.h:459: error: previous declaration of 'EVP_CIPHER
_CTX_copy' was here
openssl_missing.h:95: error: conflicting types for 'EVP_CIPHER_CTX_copy'
c:/openssl/include/openssl/evp.h:459: error: previous declaration of 'EVP_CIPHER
_CTX_copy' was here
make: *** [openssl_missing.o] Error 1

Здесь я получаю некоторые ошибки.Я понимаю, что говорит ошибка, но не могу понять или решить ее.

1 Ответ

3 голосов
/ 14 июля 2010

Могу я спросить, почему вы пытаетесь скомпилировать расширение openssl?

Это часть самого Ruby, и при использовании правильной версии OpenSSL она должна компилироваться должным образом.

Подсказка из каталогов, с которыми вы работаете, кажется, вы используете установщики на основе RubyInstaller или, возможно, пытаетесь работать с нуля?

Если это с нуля, я бы посоветовал вам изучить проект RubyInstaller , который предоставляет хранилище рецептов компиляции, расположенное на GitHub:

http://github.com/oneclick/rubyinstaller/

Надеюсь, это поможет.

...