IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby Discussion :

Ruby 2 et Qt


Sujet :

Ruby

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Ruby 2 et Qt
    Bonjour à tous,

    J'utilisais depuis quelques temps Ruby 1.9 et le binding Qt4 avec un certain bonheur, jusqu'au passage à Ruby 2.0. J'ai naturellement voulu tenter la dernière version, et ayant entretemps installé RVM, j'ai installé celle-ci avec ce dernier. Malheureusement Qt n'était plus reconnu. Il m'avait fallu faire pas mal de bricolage pour que ça fonctionne sur la précédente version, mais impossible de retrouver comment j'avais fait afin d'essayer avec Ruby 2.
    J'ai bien entendu écumé Internet afin de trouver de l'aide, mais impossible de trouver une méthode qui fonctionne - en tout cas pour Linux, puisque c'est la plateforme que j'utilise. Entre le passage à Qt5 et la maintenance semble-t-il aléatoire des bindings pour Ruby, je m'y perds beaucoup...
    Je viens donc vers vous afin de savoir si vous connaissez une méthode fiable pour faire fonctionner Qt avec Ruby 2.x sous Linux, ou si vous savez où je dois plutôt me renseigner. S'il vous manque des précisions, n'hésitez pas à me le dire, j'essaierai de répondre au mieux!

    Merci beaucoup de votre aide! Je dois dire que ces soucis m'ont relativement éloigné de la programmation, et c'est bien dommage...

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Bonjour!

    Peut-être n'ai-je pas posté ce message au bon endroit, je m'étais demandé s'il ne fallait pas plutôt le mettre dans le sujet sur Qt.
    Est-ce qu'un modérateur pourrait me dire s'il est possible de dupliquer ce message sur le forum Qt? Je ne voudrais pas inonder le site de doublons.
    Merci!

  3. #3
    Membre actif
    Profil pro
    Problem Solver
    Inscrit en
    Juin 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Problem Solver

    Informations forums :
    Inscription : Juin 2013
    Messages : 138
    Points : 231
    Points
    231
    Par défaut
    Je n'ai pas trop d'idée, quels sont les messages d'erreurs et qu'as-tu déjà tenté (histoire qu'on te redonne pas les mêmes mauvaises astuces) ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Bonjour, et merci de ta réponse!
    Lorsque je tente de lancer un programme ruby utilisant qt, le require n'arrive pas à le trouver. J'ai pourtant essayé de mettre les chemins absolus vers Qt4.rb, Qt.rb et qtruby4.rb - notamment de la version 4.8.6.2 des bindings, récemment et normalement proprement installé - mais ça ne marche toujours pas. J'ai essayé en ajoutant le chemin vers le gem du bindings au PATH, sans résultat.
    Voici ce que j'obtiens lorsque je lance un programme avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require '/home/user/.rvm/gems/ruby-2.2.1@gemset1/gems/qtbindings-4.8.6.2/lib/Qt4.rb'
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /home/user/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- 2.2/qtruby4 (LoadError)
    	from /home/user/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    	from /home/user/.rvm/gems/ruby-2.2.1@gemset1/gems/qtbindings-4.8.6.2/lib/Qt4.rb:17:in `<top (required)>'
    	from /home/user/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    	from /home/user/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    	from main.rb:4:in `<main>'
    Il y a de toutes évidences un soucis pour pointer vers les bons fichiers, mais je ne sais pas comment fonctionne exactement qtbindings, il m'est donc difficile de savoir où commence la chaîne...
    Et si c'est une question de PATH, je ne sais pas trop non plus quelles variables exactes déclarer.
    Je m'y perds, et ne sais plus par quel bout prendre tout ça... Je me doute que debugger ce genre de chose est fastidieux par messages, mais quelques pistes - ou un Guide Magique Pour Tout Installer Sans Soucis, s'il est disponible - seraient bienvenues. ça permettrait de canaliser l'énorme flot d'informations non contextualisées et parfois contradictoires d'une recherche sur Internet (qui de toutes façons n'a pas donné grand chose).
    à défaut, je tenterai une réinstallation complète... et du coup serait intéressé de savoir s'il y a une méthode fiable pour celle-ci.
    Merci beaucoup de votre aide, et bonne journée!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Il y a un peu de nouveau: il semblerait que je n'ai pas fait attention que le require direct de qtruby4 donnait une erreur différente:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /home/user/.rvm/gems/ruby-2.2.1@gemset1/gems/qtbindings-4.8.6.2/lib/Qt/qtruby4.rb:3079:in `initialize': undefined method `addMetaObjectMethods' for Qt::Internal:Module (NoMethodError)
    	from /home/user/.rvm/gems/ruby-2.2.1@gemset1/gems/qtbindings-4.8.6.2/lib/Qt/qtruby4.rb:70:in `new'
    	from /home/user/.rvm/gems/ruby-2.2.1@gemset1/gems/qtbindings-4.8.6.2/lib/Qt/qtruby4.rb:70:in `slots'
    	from /home/user/NetBeansProjects/projet1/lib/fenetre_principale.rb:5:in `<class:Fenetre_principale>'
    	from /home/user/NetBeansProjects/projet1/lib/fenetre_principale.rb:4:in `<top (required)>'
    	from /home/user/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    	from /home/user/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    	from main.rb:8:in `<main>'
    Pour info, la ligne incriminée (fenetre_principale.rb ligne 5, slots d'un Qt::Widget):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      slots "bplus()","bmoins()","itemclicked(QTreeWidgetItem *,int)","closetab(int)","bmod()"
    Une idée à ce sujet?
    Et puis il serait fantastique de pouvoir ne pas mettre un chemin direct pour le require de Qt, pour une raison de portabilité... si vous êtes inspirés, mais je crains que ce ne soit lié au problème plus général.
    Merci!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Bonsoir,

    J'ai continué un peu mon bricolage, et il semblerait que le problème vienne de RVM... Tout est bien installé, mais les variables d'environnements sont effectivement mal configurées de base. Il faut faire attention à utiliser /bin/bash -l dans le terminal, puis s'assurer que le gem contenant Qt est bien utilisé. Après ça, ça fonctionne. Il me reste à automatiser un peu tout ça, mais ça ne posera pas de soucis. C'est donc le fonctionnement de RVM qu'il faut surveiller dans ces cas-là.
    Merci en tout cas de ta réponse, abelar_s! Je mets ce sujet en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Portage de Ruby vers PHP
    Par GTJuanpablo dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 01/02/2008, 10h15
  2. yarv machine virtuel de ruby
    Par gandalf72 dans le forum Ruby
    Réponses: 2
    Dernier message: 14/07/2006, 22h47
  3. Réponses: 2
    Dernier message: 06/06/2006, 10h31
  4. [XHTML] module RUBY, comment l'intégrer?
    Par mikotte dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/12/2005, 12h10
  5. [Apache] compiler le module pour Ruby mod_ruby.so ?
    Par Mescalito dans le forum Apache
    Réponses: 1
    Dernier message: 02/11/2005, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo