2011-03-28 2 views
0

기계화가 필요할 때 irb (v 0.9.5)에서 다음 출력을 얻었습니다.curb + mechanize = segfault?

$ irb 
>> require 'mechanize' 
=> true 
>> require 'curb' 
=> true 
>> 

문제가 없습니다. 그러나 다른 순서로 libs가 필요할 때 다음과 같이 표시됩니다.

$ irb 
>> require 'curb' 
=> true 
>> require 'mechanize' 
/opt/local/lib/ruby/1.8/openssl/ssl-internal.rb:30: [BUG] Segmentation fault 
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10] 

Abort trap 
$ 

사용중인 보석은 연석과 mech 용 최신 버전입니다 (v 0.7.15 및 1.0.0, 각각). 루비의 경우 위에서 보았 듯이 1.8.7을 사용하고 있습니다.

또한 [BUG] 오류 메시지에 익숙하지 않습니다. 이것은 내가 ssl에 알려진 버그가 발생했음을 의미합니까?

도움을 미리 감사드립니다!

답변

1

내가 기계화의 동일한 버전을 사용하여 복제 및 Linux 또는 Mac OS에 재갈을 할 수 없습니다

Welcome to IRB. You are using ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]. Have fun ;) 
>> require 'rubygems' #=> false 
>> require 'curb' #=> true 
>> require 'mechanize' #=> true 

Welcome to IRB. You are using ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-darwin10.6.0]. Have fun ;) 
>> require 'rubygems' #=> false 
>> require 'curb' #=> true 
>> require 'mechanize' #=> true 

당신의 루비/opt에 있기 때문에, 나는 당신이 MacPorts를 또는 유사한을 통해 설치 생각한다. Snow Leopard를 실 행하면 Snow Leopard로 DVD에 들어있는 Xcode는 버그가 있으며 seg fault가 발생할 수 있습니다. Apple의 Xcode 사이트에서 최신 버전으로 업데이트하면 문제가 해결됩니다. 루비가 이전 버전으로 컴파일 되었다면 아마 다시 설치해야합니다.

이런 종류의 오류가 발생할 수있는 또 다른 문제는 Leopard에서 32 비트로 Ruby를 설치 한 다음 64 비트 Snow Leopard로 업그레이드하는 것입니다. 말할 수있을만큼 충분한 정보가 없습니다.

+0

감사합니다. tin man. 내 게시물에 정보가 없어서 미안해. Snow Leopard를 실행 중이며 Leopard에서 Ruby를 설치했을 가능성이 가장 큽니다. 나는 Xcode를 다시 설치하여 MacPorts를 통해 Ruby를 다시 설치하려고했지만 불행히도 문제를 해결하지 못했습니다. – peter

+0

MaPorts를 강제로 다시 설치하는 방법을 모르겠습니다. RVM을 사용하면'rvm uninstall 1.9.2'와'rvm install 1.9.2'가 뒤 따르게되어 재 컴파일이 발생하고 새 버전이 올바른 "bitted-ness"에있게됩니다. –