Page 1 sur 1

[osmose] erreur de compilation(résolu)

Publié : jeu. 14 févr. 2013, 18:25
par rroo
bonsoir

J'essaye d'installer le paquet osmose via aur et j'ai cette erreur pouvez vous me dire
d'ou vient ce problème ?
merci

Code : Tout sélectionner

==> Relancer la compilation de osmose ? [o/N]
==> -----------------------------------------
==> 
==> Éditer PKGBUILD ? [O/n] ("A" pour annuler)
==> ------------------------------------------
==> o

==> Dépendances de osmose :
 - qt (déjà installé)
 - mesa (déjà installé)


==> Éditer PKGBUILD ? [O/n] ("A" pour annuler)
==> ------------------------------------------
==> n

==> Lancer la compilation de osmose ? [O/n]
==> ---------------------------------------
==> 
==> Construction et installation du paquet
==> Création du paquet osmose 0.9.96-2 (jeu. févr. 14 18:26:51 GMT 2013)
==> Vérification des dépendances pour l'exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> Osmose-0-9-96-QT.zip trouvé
  -> osmose.desktop trouvé
  -> osmose.png trouvé
==> Validation des fichiers sources avec md5sums...
    Osmose-0-9-96-QT.zip ... Réussite
    osmose.desktop ... Réussite
    osmose.png ... Réussite
==> Extraction des sources...
  -> Extraction de Osmose-0-9-96-QT.zip avec bsdtar
==> Suppression du répertoire pkg/ existant…
==> Entre dans l'environnement fakeroot…
==> Lancement de build()...
g++ -c -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtOpenGL -I/usr/include -I. -Icpu -Iosmose -Iunzip -I/usr/X11R6/include -I. -I. -o Joystick.o Joystick.cpp
Joystick.cpp: In constructor ‘Joystick::Joystick(char*, JoystickListener*)’:
Joystick.cpp:46:10: attention : extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
Joystick.cpp:46:10: attention : extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
Joystick.cpp: In member function ‘bool Joystick::readDevice(js_event*)’:
Joystick.cpp:121:49: erreur: ‘read’ was not declared in this scope
Joystick.cpp: In destructor ‘virtual Joystick::~Joystick()’:
Joystick.cpp:195:5: erreur: ‘::close’ has not been declared
make: *** [Joystick.o] Erreur 1
==> ERREUR : Une erreur s'est produite dans build().
    Abandon...
==> ERREUR: Makepkg n'a pas pu construire osmose.
==> Relancer la compilation de osmose ? [o/N]
==> -----------------------------------------
==> 

Code : Tout sélectionner

Joystick.cpp:121:49: erreur: ‘read’ was not declared in this scope
Joystick.cpp: In destructor ‘virtual Joystick::~Joystick()’:
Joystick.cpp:195:5: erreur: ‘::close’ has not been declared
make: *** [Joystick.o] Erreur 1
==> ERREUR : Une erreur s'est produite dans build().
    Abandon...
==> ERREUR: Makepkg n'a pas pu construire osmose.

Re: [yaourt -S] erreur

Publié : jeu. 14 févr. 2013, 18:47
par benjarobin
Le problème vient des sources... Tu ne peux guère faire grand chose à part corriger le souci dans le code

Re: [yaourt -S] erreur

Publié : jeu. 14 févr. 2013, 19:55
par rroo
Ok merci beaucoup

Re: [osmose] erreur de compilation

Publié : ven. 15 févr. 2013, 20:07
par rroo
Le sujet était passé en (abandon) mais je ne voulais pas ouvrir un autre sujet:
Comment faire pour corriger ce code ?
Autrement existe un autre émulateur de cette console qui fonctionne dans le dêpot?
J'en ai essayer plusieurs,mais a chaque fois j'obtiens le même message...

Merci

Re: [osmose] erreur de compilation

Publié : ven. 15 févr. 2013, 20:38
par FoolEcho
rroo a écrit :Comment faire pour corriger ce code ?
J'ai regardé vite fait et c'est du au passage à gcc 4.7, osmose étant plus ancien... et pas à jour. Il faut donc patcher le code en suivant http://gcc.gnu.org/gcc-4.7/porting_to.html par exemple.
+Patching_in_ABS
Et coup de bol, il n'y a que le Joystick.cpp à corriger (même pas drôle). :D

Du coup, tu peux corriger manuellement.
Il suffit de récupérer l'archive (yaourt -G osmose).
De te rendre dans le répertoire osmose et de faire la procédure suivante:
#récupération/décompression dans src

Code : Tout sélectionner

makepkg -o
#modifier src/Osmose-0-9-96-QT/Joystick.cpp en allant à la ligne après le premier #include au début du fichier et de rajouter:

Code : Tout sélectionner

#include <unistd.h>
#retourner dans le répertoire osmose si tu t'étais déplacé et compiler/installer:

Code : Tout sélectionner

makepkg -sie
(voir le man makepkg pour le pourquoi des options)

Ça compile et se lance chez moi, donc je gage que c'est bon.
Je vais laisser un commentaire à l'intention du mainteneur sur AUR avec le (mini)patch. :chinois:

Re: [osmose] erreur de compilation

Publié : ven. 15 févr. 2013, 21:19
par benjarobin
Voici l'ensemble corrigé, mit sur AUR, Avec correction des centaines de warning...
Normalement un simple : "yaourt -S osmose" devrait fonctionner :D

Re: [osmose] erreur de compilation

Publié : ven. 15 févr. 2013, 21:28
par rroo
merci ca marche nickel :D