Hallo Stefan,

ich habe vor kurzem ein ganz ähnliches Erlebnis gehabt, und zwar beim
Umstieg von normalem 1.8.7 auf REE, und zwar ganz ohne rvm.

Wenn ich es richtig verstanden habe, kann es leicht vorkommen, dass
Gems nur einmal pro Ruby-Version (z.B. in
/path/to/ruby/lib/ruby/gems/1.9.1 für 1.9.x) installiert werden. Wenig
problematisch sind dabei die Gems, die direkt neben/unter der Ruby
Version installiert wurden, sondern viel mehr die, die an einer
allgemeinen Stelle liegen (z.B. im $HOME). Ein `gem env` gibt darüber
Auskunft.

Ein expliziter gempath auf mein gewünschtes Ruby in ~/.gemrc hat dann
das Problem gelöst. Siehe auch
http://docs.rubygems.org/read/chapter/11. Wenn `gem env` nur einen
Eintrag unter "GEM PATHS" hat, sollte es keine Probleme mehr geben.

Ich hoffe, das hilft Dir weiter. Viele Grüße

Christoph




Am 26. Mai 2011 07:19 schrieb Stefan Frank <s.fr...@vierundsechzig.de>:
> Hi Liste,
>
> in der Liste doofer Ideen, die man nachmittags um 5 noch anfassen kann,
> rangiert ein Umstieg von mri 1.8.7 auf 1.9.2 sehr weit oben. Man lernt dabei
> vor allem eine Menge über rvm, aber irgendwie habe ich das Gefühl, dass ich
> da ein paar Sachen noch nicht verstanden habe, vielleicht kann mich da ja
> jemand erleuchten:
>
> - 1.9.2 ist ein Alias für alle möglichen 1.9.2-Versionen: Ich hatte in
> meiner rvm-Installation noch einige frühe Installationen, die zusammen mit
> rails noch segfaults produzierten. Weil das so ist, greift er sich beim rvm
> install 1.9.2 auch nicht eine aktuelle Version, sondern eine der Versionen
> aus ~/.rvm/src - nur für den Fall, dass sich noch jemand fragt, warum die
> segfaults immer noch nicht weg sind. Also am besten immer die volle Version
> spezifizieren, wenn man einen Interpreter installiert oder noch besser, das
> ~/.rvm/src-Verzeichnis regelmäßig aufräumen ...
>
> - nachdem also die richtige 1.9.2-Version (ich benutze momentan
> ruby-1.9.2-p180) installiert ist, läuft die Anwendung aber immer noch nicht.
> Keine segfaults mehr, aber dafür das ebenso wenig aussagekräftige:
>
> [BUG] cross-thread violation on rb_gc()
> (null)
>
> Abort trap
>
>
> Ein bisschen googlen bringt hier gems mit native Extensions als Ursache zum
> Vorschein: Wenn die bereits gegen einen anderen Interpreter kompiliert
> wurden, in diesem Fall also gegen 1.8.7, dann gibt es diese Fehlermeldung.
> Der Spaß war dann, die entsprechenden gems zu finden, zu uninstall'en und
> neu zu installieren. Dabei werden die native Extensions neu gebaut, diesmal
> dann gegen 1.9.2.
>
>
> Daraus ergeben sich mir einige Fragezeichen:
>
> - verschiedene Intepreter mit rvm ja, aber wechseln zwischen 1.9.2 und 1.8.7
> geht nicht? Eigentlich hatte ich 1.9.2 nur ausprobieren wollen, aber jetzt
> sieht es so aus, als wäre mir der Rückweg abgeschnitten: Es läuft jetzt
> unter 1.9.2, aber die cross-thread violation kriege ich jetzt unter 1.8.7...
>
> - gibt es eine Möglichkeit herauszufinden, welche gems native Extensions
> haben? In diesem Fall habe ich es mit Trial-and-Error und informiertem Raten
> versucht (hint: es sind mehr, als man meint und manchmal auch andere, als
> man meint...)Neben den üblichen Verdächtigen wie mysql, rmagick, bson_ext,
> nokogiri usw. war es am Ende json, das noch eine native-extension hatte und
> neu installiert werden musste. bcrypt-ruby hat keine native extension,
> wollte aber trotzdem neu installiert werden - kein sehr wissenschaftliches
> Verfahren...
>
> - wirklich verstanden habe ich die Struktur von rvm noch immer nicht ganz:
> unter ~/.rvm/gems/ruby-1.9.2-p180/gems finden sich jetzt die gems für 1.9.2
> - keine Links, sondern echte Kopien, soweit ich das sehe. Aber die native
> Extensions teilen sich trotzdem alle Interpreter?! Oder nur die mri's oder
> sind auch jruby und macruby davon betroffen? Dann ist so ein bisschen der
> Witz von rvm weg, aber vielleicht kann das ja noch jemand aufklären...
>
>
> Grüße
> Stefan
>
>
>
> _______________________________________________
> rubyonrails-ug mailing list
> rubyonrails-ug@headflash.com
> http://mailman.headflash.com/listinfo/rubyonrails-ug
>
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an