[lineakd] erreur de compilation avec yaourt AUR [RÉSOLU]

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
miq75
Hankyu
Messages : 21
Inscription : mar. 22 avr. 2008, 15:10
Localisation : Ile de France

[lineakd] erreur de compilation avec yaourt AUR [RÉSOLU]

Message par miq75 »

Salut,

J'essaie d'installer lineakd, mais yaourt me dit qu'il ne peut pas compiler :

Code : Tout sélectionner

In file included from ../lineak/plugin_definitions.h:24,
                 from ../lineak/pluginmanager.h:25,
                 from pluginmanager.cpp:18:
../lineak/lobject.h:52: warning: type qualifiers ignored on function return type
../lineak/lobject.h:53: warning: type qualifiers ignored on function return type
In file included from pluginmanager.cpp:28:
../lineak/lkbd.h:84: warning: type qualifiers ignored on function return type
pluginmanager.cpp: In member function 'bool PluginManager::loadPlugin(const std::string&)':
pluginmanager.cpp:122: warning: suggest parentheses around && within ||
pluginmanager.cpp: In member function 'std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > PluginManager::scanForPlugins(const std::string&)':
pluginmanager.cpp:466: error: 'strcmp' was not declared in this scope
make[2]: *** [pluginmanager.lo] Erreur 1
make[2]: quittant le répertoire « /tmp/yaourt-tmp-miq/aur-lineakd/lineakd/src/lineakd-0.9/lineak »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /tmp/yaourt-tmp-miq/aur-lineakd/lineakd/src/lineakd-0.9 »
make: *** [all] Erreur 2
==> ERREUR: La compilation a échoué.
    Abandon...
Error: Makepkg was unable to build lineakd package.
J'ai pourtant toutes les dépendances réclamées, y compris gcc et gcc-libs 4.0.3-1

Sinon, le wiki http://wiki.archlinux.fr/tipsntricks:lineakd utilise pacman pour insaller lineakd, mais chez moi il n'est que dans les dépots AUR accessibles avec yaourt. Y'a un épisode que j'ai loupé ?
Dernière modification par miq75 le lun. 12 mai 2008, 13:01, modifié 1 fois.
Avatar de l’utilisateur
Ricard
yeomen
Messages : 255
Inscription : lun. 03 sept. 2007, 20:59

Message par Ricard »

Code : Tout sélectionner

'strcmp' was not declared in this scope
Un problème de chaine dans les sources apparement ?
La comparaison de deux chaines semble avoir échoué à la compilation, peut-être qu'il n'y a qu'une chaine déclarée.
Avatar de l’utilisateur
miq75
Hankyu
Messages : 21
Inscription : mar. 22 avr. 2008, 15:10
Localisation : Ile de France

Message par miq75 »

Yop,

Ça me parrait clair qu'il y a un problème dans les sources. Ce qui m'étonne c'est que lineakd à bien du être installé chez d'autres et qu'ils ont du pouvoir le faire sans rencontrer ce problème. (pas de traces de ça sur un moteur de recherches à part un report d'erreur sur gentoo et un forum en anglais que j'ai du mal à suivre)

Je débute sous arch après 2 ans de ubuntu, alors j'ai encore un peu de mal avec yaourt et la compilation via AUR (bien que j'ai déjà installé 2/3 paquets de AUR). Qu'est ce que j'ai pu zapper ? Est il possible que le paquet ne soit pas à jour ? Comment résoudre ça ? Faut il que j'aille taper dans le code moi même ...
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

salut, en fait, c'est suite à la mise à jour de gcc vers la 4.3, les en-tetes C++ livrés avec la 4.3 sont allégés des liaisons avec les en-tetes C, genre, avant la 4.3

Code : Tout sélectionner

#include <string>
était équivalent à:

Code : Tout sélectionner

#include <string> // C++
#include <string.h> // C
et maintenant c'est plus le cas, il faut le faire explicitement :?
donc 2 choix, tu modifies le PKGBUILD pour qu'il modifie les sources pour y inclure les en tetes C ou tu attends une nouvelle release...

pour la modif du PKGBUILD, tu peux utiliser le patch proposé en commentaire sur AUR, ou à la sauvage, rajouter ceci juste après le ./configure:

Code : Tout sélectionner

    cat << EOF >> config.h
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
EOF
Avatar de l’utilisateur
miq75
Hankyu
Messages : 21
Inscription : mar. 22 avr. 2008, 15:10
Localisation : Ile de France

Message par miq75 »

Ok, merci pour les explications.

J'ai testé ta méthode à l'arrache, ça fonctionne. (pour le patch, j'ai pas tout compris, y'a plusieurs fichiers à éditer apparemment, bien compliqué à mon gout)

Bon j'ai pu installer lineakd, c'est le principal. (je ferai le reste de la config cet aprèm et je reviendrai si problème, présentement je dois aller loin de mon clavier).

merci.
Répondre