2011-10-12 25 views
15

Tôi gặp lỗi sau khi biên dịch Ruby 1.8.7 bằng RVM trên Lion 10.7.1 với Xcode 4.2 GM (MacBook mới).Lỗi BUG Bus ruby ​​1.8.7

Nó biên dịch tốt nhưng khi tôi cố gắng để cài đặt bất kỳ viên ngọc Tôi nhận được như sau:

gem install bundler 
/Users/me/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Bus Error 
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0] 

Abort trap: 6 

Cập nhật: Cuối cùng tôi hy vọng sẽ có Xcode 4.2 được cài đặt, RVM với Ruby 1.8.7, 1.9 .x được cài đặt và tất cả đều hoạt động bình thường.

+1

[Điều này có vẻ liên quan] (http://jalada.co.uk/2011/07/24/lion-rvm-and-ruby-1-8-7-woes.html) - hãy thử sửa lỗi mà anh đã sử dụng? Trông giống như một sự không tương thích sâu sắc của một số loại. – millimoose

+0

Việc sửa chữa đó có hiệu quả đối với tôi. – kafuchau

Trả lời

24

Kể từ khi tôi đã phải phân tích cú pháp thông qua một số các câu trả lời cho có được những điều làm việc với XCode 4.2, tôi nghĩ rằng tôi muốn đặt nó tất cả cùng nhau:

  1. Cài đặt Xcode 4.2
  2. Cài đặt trình biên dịch gcc độc lập từ https://github.com/kennethreitz/osx-gcc-installer (thay thế Xcode)
  3. Thêm export CC=gcc-4.2 vào ~/.bash_profile hoặc tương đương (đừng quên để tải lại nó)
  4. Run rvm implode" then re-install rvmhttp://beginrescueend.com/

Tại thời điểm này tôi đã có thể rvm cài đặt ruby-1.8.7 (và ruby-1.9.2), và thực sự có được đá quý của tôi để cài đặt.

+0

Bạn vẫn còn cài đặt Xcode 4.2 chưa? Trường hợp nào phù hợp với các bước cài đặt? –

+2

Nate - Tôi đã cài đặt Xcode 4.2 trước các bước đó. –

+3

bạn đã cứu mạng tôi! – antpaw

2

Multiplearticles đề nghị Ruby không thích được biên dịch với LLVM. Các biện pháp stopgap là triệt để loại bỏ cài đặt RVM - các bài báo liên kết nói như thế nào - và sau đó biên dịch lại Ruby với GCC đồng bằng. Sửa chữa thực sự sẽ phải đến từ Apple/LLVM hoặc nhóm Ruby.

3

Vì vậy, nuking RVM (rvm implode) và cài đặt lại không tạo ra bất kỳ sự khác biệt nào. Tôi đã kết thúc cài đặt Xcode 4.2 và sau đó cài đặt các trình biên dịch GCC sau đó ghi đè các trình biên dịch Xcode.

Dưới đây là các bước cho những người này trên Google.

  1. Cài đặt Xcode 4.2.x

  2. Cài đặt GCC trình biên dịch độc lập từ https://github.com/kennethreitz/osx-gcc-installer

    Lưu ý: Xcode 4.3 beta vừa được phát hành. Tôi đang thử nghiệm nếu điều này khắc phục các vấn đề biên dịch.

+0

Tôi có Xcode 4.3 và vẫn gặp sự cố này. Sửa lỗi bằng cách cài đặt trình cài đặt osx-gcc-được đề cập ở đây và lệnh «CC =/usr/bin/gcc-4.2» cài đặt lại 1.8.7-p352' – Norto23

2

tôi khắc phục điều đó bằng cách

  1. cài đặt Xcode 4.2.x,
  2. thêm export CC=gcc vào ~/.bash_profile,
  3. Reloading môi trường (source ~/.bash_profile),
  4. thực hiện rvm install 1.9.3,
  5. thực hiện rvm ruby-1.9.3-rc1,
  6. thực hiện gem update --system và cuối cùng
  7. thực hiện gem install bundler

Vấn đề là với phiên bản Xcode 4.2.x. Nếu bạn chạy rvm get head, bạn sẽ thấy thông báo này "KHÔNG sử dụng Xcode Phiên bản 4.2.x. Hiện tại không thể xây dựng một số hồng ngọc và đá quý ...".

Tôi không có giải pháp cho ruby ​​v1.8.7.

Tôi hy vọng điều đó sẽ hữu ích.

+1

Vâng. Tôi đã có thể nhận được 1.9.2 để biên soạn tiền phạt. 1.9.3 cần 'xuất CC = gcc' trong' ~/.bash_profile' hoặc '~/.rvmrc'. Tôi đã không bao giờ có thể nhận được 1.8.7 để biên dịch cho đến khi tôi imploded RVM, gỡ cài đặt Xcode và cài đặt các trình biên dịch độc lập GCC. Xem giải pháp của tôi ở trên. –

0

Các RVM sau cài đặt tài liệu nói:

** Lion Users: KHÔNG sử dụng Xcode Version 4.2.x cho OS X Lion. Hiện tại nó không thể xây dựng một số viên ngọc và đá quý, cũng như một số gói Homebrew và Macports. Phiên bản Xcode 4.1 (4B110) hoạt động. Bạn có thể tìm Xcode 4.1 cho OS X Lion tại địa chỉ: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.1_for_lion/xcode_4.1_for_lion.dmg

này đã làm việc cho tôi.

1

Tôi cần sử dụng Xcode trên máy này, vì vậy gcc độc lập không hoàn toàn thực hiện được với tôi.

Mỗi áp phích khác, tôi đã làm theo các đề xuất ở cuối ghi chú phát hành của bản cập nhật RVM.

Lưu ý, tôi không cần phải loại bỏ RVM. Tôi đã thành công với việc loại bỏ Xcode 4.2.1 (hoàn toàn) và cài đặt lại Xcode 4.1, sau đó thực hiện thủ thuật CC=/usr/bin/gcc-4.2 rvm install 1.8.7. Trong trường hợp của tôi, tôi đặt export CC="/usr/bin/gcc-4.2" trong tiểu sử của mình để lưu một số thao tác nhập khi thiết lập nhiều loại đá quý khác nhau.

Điều này cũng làm việc cho Ruby Enterprise Edition (ree-1.8.7-2011.03) đã bị lỗi.

1

Bạn có thể tải hướng dẫn tìm đứng GCC cài đặt một mình ở đây: https://github.com/kennethreitz/osx-gcc-installer

này mang đến cho bạn một llvm cài đặt dựa vào phi gcc mà không cần phải mess xung quanh với Xcode.

Sau đó bạn có thể sử dụng lệnh

export CC=/usr/bin/gcc-4.2 

này cho phép bạn có X Mã cho OSX mục đích mới nhất và vẫn còn có một phiên bản gcc hạnh phúc cho ruby.

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