OVH Cloud OVH Cloud

le gem (ruby) gtk2 ne trouve pas les headers

18 réponses
Avatar
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 ?

8 réponses

1 2
Avatar
Doug713705
Le 26-11-2016, Jo Engo nous expliquait dans
fr.comp.os.linux.configuration
(<58394f47$0$19764$) :
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

^^
Python != Ruby, merci de ne pas mélanger torchons et serviettes ou
plutôt le contraire.
--
Je ne connaîtrai rien de tes habitudes
Il se peut même que tu sois décédée
Mais j'demanderai ta main pour la couper
-- H.F. Thiéfaine, L'ascenceur de 22H43
Avatar
Jo Engo
Le Sat, 26 Nov 2016 09:35:00 +0000, Doug713705 a écrit :
bien entendu vu que tu as fait gem install gtk avec py 2.2

^^
Python != Ruby, merci de ne pas mélanger torchons et serviettes ou
plutôt le contraire.

Il était trop tard pour superséder et je n'étais plus devant mon écran
quand je me suis aperçu de ma bévue.
--
On n'échappe pas à un infini, en fuyant vers un autre infini.
-+- Umberto Eco -+-
Avatar
Une Bévue
Le 26/11/2016 à 10:03, Jo Engo a écrit :
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)

euh py 2.3 ?
non gem2.2 c'est le "gestionnaire" d'extensions ruby...
le shebang du prog essayé est bien :
#!/usr/bin/env ruby
Avatar
Jo Engo
Le Sat, 26 Nov 2016 13:36:11 +0100, Une Bévue a écrit :
euh py 2.3 ?

ruby 2.3 (ici à toulouse, on écrit rugby (si, si...))
non gem2.2 c'est le "gestionnaire" d'extensions ruby...

out of the box sur mon bubuntu j'ai :
file /usr/bin/gem
/usr/bin/gem: symbolic link to gem2.3
Je te conseille fortement de désinstaller gem2.3 et d'installer le cas
échéant gem2.3
le shebang du prog essayé est bien :
#!/usr/bin/env ruby

alias ruby-2.3
et ça passe parce qu'il y a une compatibilité ascendante dans ruby, ce
qui est heureux (il y en a qui aiment sed, ceci-dit).
--
Angoisse métaphysique : ou l'apaiser avec un Dieu, ou la noyer dans le
plaisir, ou la guérir par des pilules.
-+- Jean Rostand (1894-1977), Carnets -+-
Avatar
Jo Engo
Le Sat, 26 Nov 2016 13:36:11 +0100, Une Bévue a écrit :
euh py 2.3 ?

ruby 2.3 (ici à toulouse, on écrit rugby (si, si...))
non gem2.2 c'est le "gestionnaire" d'extensions ruby...

out of the box sur mon bubuntu j'ai :
file /usr/bin/gem /usr/bin/gem: symbolic link to gem2.3
Je te conseille fortement de désinstaller gem2.2 et d'installer le cas
échéant gem2.3
le shebang du prog essayé est bien :
#!/usr/bin/env ruby

alias ruby-2.3 et ça passe parce qu'il y a une compatibilité ascendante
dans ruby, ce qui est heureux (il y en a qui aiment sed, ceci-dit).
--
Angoisse métaphysique : ou l'apaiser avec un Dieu, ou la noyer dans le
plaisir, ou la guérir par des pilules.
-+- Jean Rostand (1894-1977), Carnets -+-
--
Mais j'applaudis, ce qui n'est pas facile quand on tape au clavier
en même temps...
-+- Pierre, sur fr.rec.photo -+-
Avatar
Une Bévue
Le 26/11/2016 à 14:27, Jo Engo a écrit :
Je te conseille fortement de désinstaller gem2.2 et d'installer le cas
échéant gem2.3

le gem2.3 est installé :
┬─[:~]─[16-11-26 15:15:02]
╰─>$ lal /usr/bin/gem*
lrwxrwxrwx 1 root root 21 nov. 16 15:11 /usr/bin/gem ->
/etc/alternatives/gem*
-rwxr-xr-x 1 root root 545 juin 27 00:08 /usr/bin/gem2.2*
-rwxr-xr-x 1 root root 545 juin 16 20:40 /usr/bin/gem2.3*
lrwxrwxrwx 1 root root 8 nov. 16 12:50 /usr/bin/gemtopbm -> gemtopnm*
-rwxr-xr-x 1 root root 9648 janv. 31 2016 /usr/bin/gemtopnm*
en fait /etc/alternatives/gem point vers gem2.2, j'ai changé pour qu'il
pointe vers 2.3
et là encore, si j'installe un gem manquant, il n'est pas vu...
donc je laisse tomber ce ruby et du coup screenruler.
j'ai perdu trop de temps.
Avatar
Jo Engo
Le Sat, 26 Nov 2016 15:23:50 +0100, Une Bévue a écrit :
et là encore, si j'installe un gem manquant, il n'est pas vu...

Tu t'es quand même pas mal embrouillé ave tes 2 ruby. Pourquoi tu ne
désinstalle simplement pas ruby2.2 et gem2.2 ? tu découvriras que le bug
est dans le shebang de screentruc
--
Quand un homme est fou d'une femme, il n'y a qu'elle qui puisse le
guérir de sa folie.
-+- Proverbe chinois -+-
Avatar
Une Bévue
Le 26/11/2016 à 15:30, Jo Engo a écrit :
Tu t'es quand même pas mal embrouillé ave tes 2 ruby. Pourquoi tu ne
désinstalle simplement pas ruby2.2 et gem2.2 ? tu découvriras que le bug
est dans le shebang de screentruc

je ne comprends pas.
j'ai fait, avec le gestionnaire de paquets une réinstallation de ruby
et là j'ai droit à la version 2.3:
$ /usr/bin/ruby --version
ruby 2.3.1p112 (2016-04-26) [i386-linux-gnu]
et le gem aussi :
$ lal /usr/bin/gem*
lrwxrwxrwx 1 root root 6 mars 13 2016 /usr/bin/gem -> gem2.3*
-rwxr-xr-x 1 root root 545 juin 27 00:08 /usr/bin/gem2.2*
-rwxr-xr-x 1 root root 545 juin 16 20:40 /usr/bin/gem2.3*
lrwxrwxrwx 1 root root 8 nov. 16 12:50 /usr/bin/gemtopbm -> gemtopnm*
-rwxr-xr-x 1 root root 9648 janv. 31 2016 /usr/bin/gemtopnm*
le symlink a changé, il ne passe plus par /etc/alternatives
avec :
$ /usr/bin/gem --version
2.5.1
et là je epux lancer screenruler avec ou sans sudo.
et aussi depuis le menu.
le shebang de screenruler est ok, amha :
#!/usr/bin/env ruby
franchement, je n'ai rien compris à ce chimiliblick.
pour moi, screenruler n'a pas changé. donc il n'est pas fautif.
c'est l'installation d'origine de Linux Mint, faite il y a 15j qui
déconnait côté ruby.
D'ailleurs si j'ai réinstallé le paquet ruby au lieu de le supprimer
c'est parce que j'ai vu qu'un tas de choses de Mint en dependent...
En tout cas un grand merci d'avoir insisté pour que je "désinstalle
ruby2.2 et gem2.2"...
1 2