2011-03-28 3 views
0

je reçois la sortie suivante de RIR (v 0.9.5) quand je requiers mécaniser puis freiner:curb + mechanize = segfault?

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

Pas de problème là-bas. Cependant, quand je requiers les libs dans l'autre ordre, je reçois le texte suivant:

$ 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 
$ 

Les gemmes que je utilise sont les versions les plus récentes pour trottoir et mech (v 0.7.15 et 1.0.0, respectivement). Pour ruby ​​j'utilise 1.8.7 (comme vu ci-dessus).

En outre, je ne suis pas familier avec le message d'erreur [BUG]. Est-ce que cela signifie que j'ai rencontré un bug connu dans ssl?

Merci d'avance pour l'aide!

Répondre

1

je ne peux pas le dupliquer en utilisant les mêmes versions de mécaniser et sur Curb Linux ou 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 

Parce que votre Ruby est dans/opt, je suppose que vous avez installé via MacPorts ou similaire. Si vous utilisez Snow Leopard, XCode qui est apparu sur le DVD avec Snow Leopard est connu pour être buggé et causer des erreurs de segmentation. La mise à jour vers la dernière version du site XCode d'Apple résoudra le problème. Vous devriez probablement réinstaller Ruby s'il a été compilé sous l'ancienne version. Un autre problème que j'ai vu qui pourrait causer ce genre d'erreur est l'installation de Ruby sous Leopard en 32 bits, puis la mise à niveau vers Snow Leopard qui est en 64 bits. Il n'y a pas assez d'informations pour pouvoir le dire.

+0

Merci l'homme d'étain. Désolé pour le manque d'informations dans mon message. Je cours Snow Leopard et ai probablement installé Ruby alors qu'il était encore sur Leopard. J'avais déjà réinstallé XCode il y a quelques temps, j'ai donc essayé de réinstaller Ruby (via MacPorts), mais je n'ai malheureusement pas réussi à résoudre le problème. – peter

+0

Je ne sais pas comment forcer MaPorts à réinstaller. Avec RVM, il s'agirait d'un 'rvm uninstall 1.9.2' suivi d'un' rvm install 1.9.2', ce qui provoque une recompilation et aboutit à une nouvelle version de "bitted-ness". –