2010-01-02 4 views
1

Je joue autour avec Rubygame. Je l'ai installé avec le Mac Pack, et maintenant j'ai l'exécutable rsdl. rsdl game.rb fonctionne bien, mais quand je chmod + x le fichier rb, ajouter le shebang à rsdl (essayé chemin direct et/usr/bin/env rsdl) et essayer de l'exécuter (./game.rb), il commence à scintiller entre le terminal et rsdl qui tente d'ouvrir, et donne finalement et donne un bus error. Quelqu'un sait ce qui cause ça? Je suis sur Snow Leopard (10.6.2) si ça fait une différence.Rubygame sur OS X problème tralala

Merci.

Répondre

1

Je crois que cela est un problème avec Ruby embarqué. Ruby a un hack horrible pour gérer l'exécution de shebang qui cherche essentiellement "ruby" dans le nom de l'exécutable (c'est-à-dire argv [0]). Si votre exécutable Ruby embarqué n'a pas « rubis » dans son nom, ce hack échoue, et vous obtenez une boucle infinie (cela se produit même avec le rubis de stock si vous le renommez). En supposant que c'est le cas ici, vous pouvez sym-lien ou mv rsdl à rsdl-ruby (ou similaire), changez votre shebang en #!/usr/bin/env rsdl-ruby et cela fonctionnera.

0

Il peut y avoir des problèmes avec où RSDL vous attend à être l'exécution à partir (à savoir de l'exécutable, plutôt qu'un fichier de jeu). La façon dont je voudrais savoir est popping ouvert l'exécutable RSDL (en supposant qu'il est juste un script Ruby) et farfouillé l'intérieur. Je pense qu'il serait utile aussi de savoir pourquoi vous essayez d'exécuter autonome à partir de votre script ruby.