[英]Ruby 1.8.6 `gem install` segfaults with “abort trap 6”
我無法在Mountain Lion的新rbenv安裝的Ruby 1.8.6上安裝任何gem。 gem install
segfaults並在外殼上顯示“ Abort trap:6”:
$ RUBYLIB= RUBYOPT= bash
$ gem install --verbose bundler
GET http://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
304 Not Modified
Installing gem bundler-1.3.5
Abort trap: 6
報告了類似的問題,但所有問題的答案是,他們需要使用非Apple GCC 4.2來構建這種舊版本的Ruby。 這不適用於我,因為我已經用brew install apple-gcc42
和rbenv安裝過程安裝了GCC,如下所示:
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.6 (2010-09-02 patchlevel 420) [i686-darwin12.3.0]
- INSTALLATION DIRECTORY: /Users/mislav/.rbenv/versions/1.8.6-p420/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /Users/mislav/.rbenv/versions/1.8.6-p420/bin/ruby
- EXECUTABLE DIRECTORY: /Users/mislav/.rbenv/versions/1.8.6-p420/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-12
- GEM PATHS:
- /Users/mislav/.rbenv/versions/1.8.6-p420/lib/ruby/gems/1.8
- /Users/mislav/.gem/ruby/1.8
- GEM CONFIGURATION:
- "gem" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- http://rubygems.org/
$ ruby -rrbconfig -e 'puts RbConfig::CONFIG["configure_args"]'
'--prefix=/Users/mislav/.rbenv/versions/1.8.6-p420'
'CC=/usr/local/bin/gcc-4.2'
'CFLAGS= -Wno-error=shorten-64-to-32'
'LDFLAGS=-L'\\''/Users/mislav/.rbenv/versions/1.8.6-p420/lib'\\'' '
'CPPFLAGS=-I'\\''/Users/mislav/.rbenv/versions/1.8.6-p420/include'\\'' '
$ /usr/local/bin/gcc-4.2 --version
i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
一眼就能看到的唯一區別是,我在/usr/bin
安裝了gcc-4.2
而您使用的是/usr/local/bin
。 那應該沒有什么不同,但是我想可能有些gcc
Makefile硬編碼了/usr/bin
(這是更常見的-我猜是嗎?)。
由於您提到使用Homebrew安裝gcc-4.2
,因此我還要補充說明,我按照以下說明使用了手動方法: http : //caiustheory.com/install-gcc-421-apple-build-56663-with -xcode-42 。 再次,我不認為應該有所作為,但你永遠不知道。
較新版本的rubygems
可能不適用於Ruby 1.8.6及更低版本。
您始終可以嘗試使用苗條作為替代。 那是1.3.x系列rubygems
系統的一個分支,該系統修補了bug,而不是功能。
可能是OS X的版本。Apple在新的OS X和Xcode中更改了其編譯器。 gcc安裝在哪里? 嘗試運行哪個gcc。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.