le gem (ruby) gtk2 ne trouve pas les headers

Le
Une Bévue
sur linux mint, il y a un ruby installé :
┬─[yt@d620:~/Brunch/Essai]─[16-11-25 14:45:19]


╰─>$ /usr/bin/ruby --version
ruby 2.2.5p319 (2016-04-26 revision 54774) [i386-linux-gnu]

par ailleurs, j'ai installé "screenruler" qui utilise gtk2
comme le wrapper ruby/Gtk2 n'est pas installé (ni ruby/gettest) j'essaie
de le faire mais là ça marche pas car les headers de ruby ne sont pas
installés :
┬─[yt@d620:~/Brunch/Essai]─[16-11-25 14:51:43]


╰─>$ sudo /usr/bin/gem install gtk2
Fetching: pkg-config-1.1.7.gem (100%)
Successfully installed pkg-config-1.1.7
Fetching: glib2-3.1.0.gem (100%)
Building native extensions. This could take a while
ERROR: Error installing gtk2:
ERROR: Failed to build gem native extension.

/usr/bin/ruby2.2 -r ./siteconf20161125-16139-zuntry.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h


j'ai bien installé "Ruby-full" (car je n'ai pas trouvé de Ruby-dev) mais
ça ne change rien au pb de "/usr/bin/gem install gtk2"

je trouve curieux qu'une appli n'ait pas toutes ses dépendances, mais
bon, passons.


j'ai mon propre Ruby, installé par rvm, où j'ai pu installer les gems
gettext et gtk2 nécessaires à "screenruler".


donc, quand je lance "screenruler" "à la main", depuis le term, c'est
mon install de ruby qui est prise en compte par le shebang de "
/usr/share/screenruler/screenruler.rb" et là ça roule, vu que j'ai
installer les deux gems adequats.
le shebang étant :
#!/usr/bin/env ruby

j'imagine que lorsque "screenruler" est lancé depuis le menu des applis
(et non plus au term)
env retourne un autre path pour ruby, sans doute /usr/bin/ruby
au lieu de mon ruby :
$ which ruby
/home/yt/.rvm/rubies/ruby-2.3.0/bin/ruby

si je change "bêtement" changer, le shebang de "screenruler"
pour :
#!/home/yt/.rvm/rubies/ruby-2.3.0/bin/ruby

l'appli ne se lance toujours pas depuis le menu.

que puis-je faire ?
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jo Engo
Le #26418471
Le Fri, 25 Nov 2016 15:28:50 +0100, Une Bévue a écrit :
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
j'ai bien installé "Ruby-full" (car je n'ai pas trouvé de Ruby-dev)

ruby-dev sur bubuntu *donc* sur mint aussi
mais
ça ne change rien au pb de "/usr/bin/gem install gtk2"

ben oui, vu que le problème reste entier.

--
- Comment t'appelles-tu, et que veux-tu ?
- marc. veux wons.
-- Esposito-Farese, Gilles
Une Bévue
Le #26418483
Le 25/11/2016 à 18:01, Jo Engo a écrit :
j'ai bien installé "Ruby-full" (car je n'ai pas trouvé de Ruby-dev)


ruby-dev sur bubuntu *donc* sur mint aussi
mais
ça ne change rien au pb de "/usr/bin/gem install gtk2"


ben oui, vu que le problème reste entier.


j'avais espéré que ruby-full avait les headers ...
bon j'ai fait :
┬─[:~]─[16-11-25 18:18:12]
╰─>$ sudo apt-get install ruby2.2-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les NOUVEAUX paquets suivants seront installés :
ruby2.2-dev
0 mis à jour, 1 nouvellement installés, 0 à enlever et 3 non mis à jour.
Il est nécessaire de prendre 1 094 ko dans les archives.
Après cette opération, 4 105 ko d'espace disque supplémentaires seront
utilisés.
Réception de:1 http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu
xenial/main i386 ruby2.2-dev i386 2.2.5-1bbox2~xenial1 [1 094 kB]
1 094 ko réceptionnés en 6s (178 ko/s)
Sélection du paquet ruby2.2-dev:i386 précédemment désélectionné.
(Lecture de la base de données... 285568 fichiers et répertoires déjà
installés.)
Préparation du dépaquetage de
.../ruby2.2-dev_2.2.5-1bbox2~xenial1_i386.deb ...
Dépaquetage de ruby2.2-dev:i386 (2.2.5-1bbox2~xenial1) ...
Paramétrage de ruby2.2-dev:i386 (2.2.5-1bbox2~xenial1) ...
puis je viens de commencer :
┬─[:~]─[16-11-25 18:19:22]
╰─>$ sudo /usr/bin/gem install gtk2
Building native extensions. This could take a while...
Successfully installed glib2-3.1.0
Fetching: gobject-introspection-3.1.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed gobject-introspection-3.1.0
Fetching: gio2-3.1.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed gio2-3.1.0
Fetching: gdk_pixbuf2-3.1.0.gem (100%)
Successfully installed gdk_pixbuf2-3.1.0
Fetching: cairo-1.15.3.gem (100%)
Building native extensions. This could take a while...
Successfully installed cairo-1.15.3
Fetching: pango-3.1.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed pango-3.1.0
Fetching: atk-3.1.0.gem (100%)
Building native extensions. This could take a while...
ça ne m'a pas jeté...
merci
Jo Engo
Le #26418492
Le Fri, 25 Nov 2016 18:22:13 +0100, Une Bévue a écrit :
$ sudo apt-get install ruby2.2-dev

tu n'as pas un paquet ruby-dev qui dépend(rait) de ruby2.2-dev ? Si oui
il vaut mieux l'installer, ça facilitera les mises à jour.

--
Dans les révolutions, il y a deux sortes de gens : ceux qui les font et
ceux qui en profitent.
-+- Napoléon Bonaparte -+-
Une Bévue
Le #26418490
Le 25/11/2016 à 18:22, Une Bévue a écrit :
ça ne m'a pas jeté...

l'installation s'est terminée, mais screenruler ne se lance toujours pas
depuis un menu...
Une Bévue
Le #26418488
Le 25/11/2016 à 18:34, Jo Engo a écrit :
$ sudo apt-get install ruby2.2-dev


tu n'as pas un paquet ruby-dev qui dépend(rait) de ruby2.2-dev ? Si oui
il vaut mieux l'installer, ça facilitera les mises à jour.


┬─[:~]─[16-11-25 18:03:43]
╰─>$ sudo apt-get install ruby-dev
[sudo] Mot de passe de yt :
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
ruby-dev is already the newest version (1:2.3.0+1).
____________^^^^^^^^^^^^^^^^^^^^^^^^^^____________
0 mis à jour, 0 nouvellement installés, 0 à enlever et 3 non mis à jour.
Jo Engo
Le #26418543
Le Fri, 25 Nov 2016 18:46:11 +0100, Une Bévue a écrit :
$ sudo apt-get install ruby2.2-dev




~~~
[...] ruby-dev is already
the newest version (1:2.3.0+1).

~~~
tu as (dans le système) 2 versions de ruby 2.2 et 2.3, un petit coup de
update-alternatives ou déinstaller ruby 2.2 ne devrait-il te simplifier
la vie
(et la possibilité d'utiliser le ruby system wide plutôt que celui qui
est dans ton home)
--
FG : Moi, j'ai un : Server error
CB : Et t'en es content ?
-+- in: Guide du Cabaliste Usenet - Cabale: no such file in directory -
+-
Jo Engo
Le #26418542
Le Fri, 25 Nov 2016 18:46:11 +0100, Une Bévue a écrit :
$ sudo apt-get install ruby2.2-dev




~~~
[...] ruby-dev is already the newest version (1:2.3.0+1).

~~~
tu as (dans le système) 2 versions de ruby 2.2 et 2.3, un petit coup de
update-alternatives ou déinstaller ruby 2.2 ne devrait-il te simplifier la
vie ? (et te donner la possibilité d'utiliser le ruby system wide plutôt
que celui qui est dans ton home)
--
FG : Moi, j'ai un : Server error
CB : Et t'en es content ?
-+- in: Guide du Cabaliste Usenet - Cabale: no such file in directory -
+-

--
L'amour est un égoïsme à deux.
-+- Madame De Staël -+-
Une Bévue
Le #26418551
Le 26/11/2016 à 08:12, Jo Engo a écrit :
tu as (dans le système) 2 versions de ruby 2.2 et 2.3, un petit coup de
update-alternatives ou déinstaller ruby 2.2 ne devrait-il te simplifier la
vie ? (et te donner la possibilité d'utiliser le ruby system wide plutôt
que celui qui est dans ton home)

oui, oui, merci, j'y ai pensé MAIS le system wide est vérolé, me semble
t'il, explications :
si je lance screenruler "à la main" par :
$ /usr/bin/ruby /usr/share/screenruler/screenruler.rb
j'ai un tas d'injures :
Loading libraries...
Ignoring atk-3.1.0 because its extensions are not built. Try: gem
pristine atk --version 3.1.0
Ignoring bson-4.1.1 because its extensions are not built. Try: gem
pristine bson --version 4.1.1
Ignoring cairo-1.15.3 because its extensions are not built. Try: gem
pristine cairo --version 1.15.3
Ignoring cairo-gobject-3.1.0 because its extensions are not built. Try:
gem pristine cairo-gobject --version 3.1.0
Ignoring eventmachine-1.2.1 because its extensions are not built. Try:
gem pristine eventmachine --version 1.2.1
Ignoring executable-hooks-1.3.2 because its extensions are not built.
Try: gem pristine executable-hooks --version 1.3.2
Ignoring gem-wrappers-1.2.7 because its extensions are not built. Try:
gem pristine gem-wrappers --version 1.2.7
Ignoring gio2-3.1.0 because its extensions are not built. Try: gem
pristine gio2 --version 3.1.0
Ignoring glib2-3.1.0 because its extensions are not built. Try: gem
pristine glib2 --version 3.1.0
Ignoring gobject-introspection-3.1.0 because its extensions are not
built. Try: gem pristine gobject-introspection --version 3.1.0
Ignoring gtk2-3.1.0 because its extensions are not built. Try: gem
pristine gtk2 --version 3.1.0
Ignoring gtk3-3.1.0 because its extensions are not built. Try: gem
pristine gtk3 --version 3.1.0
Ignoring http_parser.rb-0.6.0 because its extensions are not built.
Try: gem pristine http_parser.rb --version 0.6.0
Ignoring nokogiri-1.6.8.1 because its extensions are not built. Try:
gem pristine nokogiri --version 1.6.8.1
Ignoring pango-3.1.0 because its extensions are not built. Try: gem
pristine pango --version 3.1.0
/usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require':
cannot load such file -- glib2.so (LoadError)
bon, je me suis dit "installons ces gems" :
$ sudo /usr/bin/gem2.2 install bson --version 4.1.1
Fetching: bson-4.1.1.gem (100%)
Building native extensions. This could take a while...
Successfully installed bson-4.1.1
Parsing documentation for bson-4.1.1
Installing ri documentation for bson-4.1.1
Done installing documentation for bson after 1 seconds
1 gem installed
et ainsi de suite...
mais si je relance "à la main" screenruler, j'ai les mêmes injures
**** mais installations n'ont servi à rien ***
maintenant si je lance screenruler "à la main" mais via sudo, j'ai
d'autres injures :
┬─[:~/Brunch/Essai]─[16-11-26 08:25:19]
╰─>$ sudo /usr/bin/ruby /usr/share/screenruler/screenruler.rb
Loading libraries...
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:189: warning: already
initialized constant GLib::Log::DOMAIN
/usr/lib/ruby/vendor_ruby/glib2.rb:158: warning: previous definition of
DOMAIN was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:190: warning: already
initialized constant GLib::Log::LEVELS
/usr/lib/ruby/vendor_ruby/glib2.rb:159: warning: previous definition of
LEVELS was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::DESKTOP
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
DESKTOP was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::DOCUMENTS
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
DOCUMENTS was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::DOWNLOAD
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
DOWNLOAD was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::MUSIC
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
MUSIC was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::PICTURES
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
PICTURES was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::PUBLIC_SHARE
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
PUBLIC_SHARE was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::TEMPLATES
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
TEMPLATES was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:228: warning: already
initialized constant GLib::UserDirectory::VIDEOS
/usr/lib/ruby/vendor_ruby/glib2.rb:197: warning: previous definition of
VIDEOS was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:234: warning: already
initialized constant GLib::LOG_DOMAIN
/usr/lib/ruby/vendor_ruby/glib2.rb:203: warning: previous definition of
LOG_DOMAIN was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:237: warning: already
initialized constant GLib::Object::LOG_DOMAIN
/usr/lib/ruby/vendor_ruby/glib2.rb:206: warning: previous definition of
LOG_DOMAIN was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:241: warning: already
initialized constant GLib::Thread::LOG_DOMAIN
/usr/lib/ruby/vendor_ruby/glib2.rb:210: warning: previous definition of
LOG_DOMAIN was here
/var/lib/gems/2.2.0/gems/glib2-3.1.0/lib/glib2.rb:245: warning: already
initialized constant GLib::Module::LOG_DOMAIN
/usr/lib/ruby/vendor_ruby/glib2.rb:214: warning: previous definition of
LOG_DOMAIN was here
/usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require':
cannot load such file -- gdk_pixbuf2.so (LoadError)
from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
`require'
from /usr/share/screenruler/utils/addons_ruby.rb:59:in `block in require'

par contre si je lance "toujours à la main" screenruler mais avec mon ruby :
j'obtiens :
et au term :
┬─[:~/Brunch/Essai]─[16-11-26 08:35:54]
╰─>$ which ruby
/home/yt/.rvm/rubies/ruby-2.3.0/bin/ruby

┬─[:~/Brunch/Essai]─[16-11-26 08:39:33]
╰─>$ /home/yt/.rvm/rubies/ruby-2.3.0/bin/ruby
/usr/share/screenruler/screenruler.rb
Loading libraries...
/usr/share/screenruler/screenruler.rb:61:in `block in <main>':
'Gdk::Pixbuf' has been deprecated. Use 'GdkPixbuf::Pixbuf'.
/home/yt/.rvm/gems/ruby-2.3.0/gems/gdk_pixbuf2-3.1.0/lib/gdk_pixbuf2/deprecated.rb:48:in
`new': GdkPixbuf::Pixbuf.new(path) is deprecated. Use
GdkPixbuf::Pixbuf.new(:file => path) instead.
/home/yt/.rvm/gems/ruby-2.3.0/gems/gdk_pixbuf2-3.1.0/lib/gdk_pixbuf2/deprecated.rb:48:in
`new': GdkPixbuf::Pixbuf.new(path) is deprecated. Use
GdkPixbuf::Pixbuf.new(:file => path) instead.
/home/yt/.rvm/gems/ruby-2.3.0/gems/gdk_pixbuf2-3.1.0/lib/gdk_pixbuf2/deprecated.rb:48:in
`new': GdkPixbuf::Pixbuf.new(path) is deprecated. Use
GdkPixbuf::Pixbuf.new(:file => path) instead.
Creating windows...
Gtk-WARNING **: Unknown property: GtkWindow.has-resize-grip
from /usr/share/screenruler/utils/glade_window.rb:29:in `initialize'
from /usr/share/screenruler/ruler_window.rb:51:in `initialize'
from /usr/share/screenruler/screenruler.rb:76:in `new'
from /usr/share/screenruler/screenruler.rb:76:in `<main>'
Reading settings...
Presenting ruler...
et ça roule...
En conclusion, comme je pense que le ruby system wide est vérolé, je
préfère utiliser le mien.
Jo Engo
Le #26418571
Le Sat, 26 Nov 2016 08:45:13 +0100, Une Bévue a écrit :
Ignoring atk-3.1.0 because its extensions are not built. Try: gem
pristine atk --version 3.1.0

etc.
bien entendu vu que tu as fait gem install gtk avec py 2.2

--
Le sage dit, selon les gens :
Vive le roi, vive la ligue !
-+- Jean de La Fontaine (1621-1695),
La Chauve-souris et les deux Belettes (Fables II.5) -+-
Jo Engo
Le #26418578
Le Sat, 26 Nov 2016 08:45:13 +0100, Une Bévue a écrit :
$ sudo /usr/bin/gem2.2 install bson --version 4.1.1

tu fais ça avec gem 2.2 et tu réessaie avec py 2.3 (ce n'est pas un
conseil, c'est un constat)

--
00:29 antitrust : chaque fois que le bill s'approche d'un mec pour voir
si il bosse je m'attendais a le voir repondre : je poste sur la
tribune
Publicité
Poster une réponse
Anonyme