2013-03-19 40 views
9

Hi Tôi cố gắng để cài đặt ruby ​​qua RVM sử dụng đoạn mã sau:OpenSSL thông báo lỗi trên cài đặt đăng nhập khi cài đặt ruby ​​1.9.3 trên Mac OSX 10.6.8

CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --with-iconv-dir=$rvm_path/usr --with-openssh-dir=$rvm_path/usr

nhưng tôi nhận được lỗi trên tập tin make.log (cài đặt):

In file included from openssl_missing.c:22: 450 openssl_missing.h:71: error: conflicting types for ‘HMAC_CTX_copy’

451 /Users/Sebastian/.rvm/usr/include/openssl/hmac.h:102: error: previous declaration of ‘HMAC_CTX_copy’ was here

452 openssl_missing.h:95: error: conflicting types for ‘EVP_CIPHER_CTX_copy’

453 /Users/Sebastian/.rvm/usr/include/openssl/evp.h:503: error: previous declaration of ‘EVP_CIPHER_CTX_copy’ was here

454 openssl_missing.c:27: error: conflicting types for ‘HMAC_CTX_copy’

455 /Users/Sebastian/.rvm/usr/include/openssl/hmac.h:102: error: previous declaration of ‘HMAC_CTX_copy’ was here

456 openssl_missing.c:122: error: conflicting types for ‘EVP_CIPHER_CTX_copy’

457 /Users/Sebastian/.rvm/usr/include/openssl/evp.h:503: error: previous declaration of ‘EVP_CIPHER_CTX_copy’ was here

458 make[2]: [openssl_missing.o] Error 1

459 make[1]: [ext/openssl/all] Error 2

460 make: [build-ext] Error 2

Tôi đã đọc rằng điều này có thể liên quan đến cài đặt macports nhưng tôi đảm bảo đã xóa mọi thứ liên quan đến nó.

Mặt khác, có một tệp openssl ở một vị trí khác tại /usr/bin/. Tôi không chắc chắn nếu điều này có thể gây ra xung đột nhưng tôi không dám xóa nó.

Tôi đánh giá cao sự trợ giúp của bạn về vấn đề này.

Cảm ơn bạn

+1

Cùng một vấn đề ở đây, không phải bất kỳ cách giải quyết nào cũng có tác dụng đối với tôi .. chỉ có lệnh hạ cấp 'rvm' thực hiện thủ thuật:' rvm get 1.10.0' – fguillen

Trả lời

0

Tôi cũng đã tham gia chương trình này. Hãy thử làm theo các bước here.

Về cơ bản, trên Terminal:

You can also install Homebrew and try this:

$ brew update 
$ brew install openssl 
$ brew link openssl --force 
$ brew install curl-ca-bundle 
+0

Cảm ơn. Tôi đã cố gắng để cập nhật openssl với các bước của brew nhưng khi tôi chạy 'openssl phiên bản' tôi vẫn nhận được phiên bản lâu đời nhất trỏ đến/usr/bin/openssl. – Bastian

+0

Ok, sau đó bạn có thể cần phải thay đổi biến PATH của bạn để trỏ đến thư mục Cellar trước khi tìm kiếm/usr/bin. –

+1

Cuối cùng tôi đã kết thúc cài đặt mà không cần dòng '--with-openssh-dir = $ rvm_path/usr'. Cho đến nay nó hoạt động. – Bastian

8

Tôi chạy vào một vấn đề tương tự sau khi cài đặt pkg openssl RVM để ruby ​​testdrive 2.0.0.

Sau khi một số không quan trọng, sau đây giải quyết nó cho tôi:

  • Nhận RVM bạn được cập nhật:

    $ rvm get head

  • Remove bạn gói cài đặt bằng tay:

    $ rvm pkg remove

  • Lấy yêu cầu thẳng:

    $ rvm requirements run

    Ở đây tôi có một danh sách các gói cần mất tích:

Installing requirements for osx/10.8/x86_64, might require sudo password 
    Skipping `brew update` make sure your formulas are up to date. 
-> Missing required packages: libtool, libxml2, libxslt, sqlite. 
    Skipping update of certificates in '/usr/local/etc/openssl/cert.pem'. 
  • tôi "homebrewed" những gói:

    $ brew update

    $ brew install libtool libxml2 libxslt sqlite

Bạn có thể kiểm tra lại các yêu cầu bằng cách chạy lệnh rvm requirements run lần nữa để xem bạn rõ ràng về gói thiếu.

  • Cài đặt lại ruby, trong trường hợp của tôi 1.9.3-p392:

    $ rvm reinstall 1.9.3-p392

Hy vọng nó sẽ giúp!

+0

Cảm ơn !, Tôi sẽ cố gắng làm theo các bước đó nếu tôi phải cài đặt lại hoặc khi tôi nâng cấp lên OSX 10.8. – Bastian

+1

Sự cố có thể xảy ra với openssl-1.0.1. Có vẻ như ruby ​​được dự định sẽ được xây dựng dựa trên openssl-0.9.x. Tôi gặp phải lỗi xây dựng tương tự ruby-2.0.0. Đây là giải pháp của tôi: https://gist.github.com/timcharper/5778185 –

Các vấn đề liên quan