[Mandriva2007] Erreur Compilation

Fermé
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007 - 26 juil. 2007 à 01:12
mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 - 3 août 2007 à 18:34
Bonsoir à tous et à toutes.

Je suis nouveau sous Linux, j' en suis à ma 1ère compilation et j' ei le message d' erreur suivant auquel je ne comprends rien :

In file included from /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/iostream.h:31,
from cclienttoaol30.h:24,
from kernel30.h:50,
from caolcmd30.h:22,
from threadELVmake[2]: quittant le répertoire « /home/julien/Téléchargement/peng/peng »
make[1]: quittant le répertoire « /home/julien/Téléchargement/peng »
2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
kernel30.h:226: error: ISO C++ forbids declaration of ‘CAolCmd30’ with no type
kernel30.h:226: error: expected ‘;’ before ‘*’ token
make[2]: *** [threadELV3.o] Erreur 1
make[1]: *** [all-recursive] Erreur 1
make: *** [all-recursive-am] Erreur 2



Je n' y comprends rien du tout et aurais besoin d' aide pour ceci.

14 réponses

mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 7 783
26 juil. 2007 à 10:00
Alors, le C++ est un langage objet, c'est à dire que l'on défini des objets (les classes) et les fonctions qui s'y rapportent. Comme ces classes peuvent être utilisées dans plusieurs programme, afin que chacun puisse en profiter, elles sont déclarées dans des en tête (les headers).

En C++ dans le temps les headers de la lib c, avaient un nom terminant par ".h", comme par exemple <iostream.h>. Aujourd'hui cette syntaxe est obsolète : on inclue <iostream> mais toutes les classes qui étaient dans ce fichier sont dans le namespace std (par exemple un ostream est devenu un std::ofstream)

Donc ça, ça correspond à ce message d'erreur
make[1]: quittant le répertoire « /home/julien/Téléchargement/peng »
2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. 

Le il te dit que pour pouvoir continuer à utiliser l'ancienne syntaxe il faut compiler avec l'option -Wno-deprecated.

Normalement si c'est bien foutu, il suffit de modifier le fichier Makefile et de chercher la balise qui ajoute les options à passer à g++ (le compilateur C++), qui s'appelle souvent CXXFLAGS ou CCFLAGS. Exemple :
CXXFLAGS = -W -Wall -Wno-deprecated

L'erreur qui suit dit qu'il ne connaît pas la classe ‘CAolCmd30’ mais c'est parce qu'en fait il n'est pas arriver à comprendre le fichier caolcmd30.h, probablement à cause de l'erreur précédente. Merci de me reporter ici les 30 premières lignes du fichier en question pour que je puisse confirmer.

Bonne chance
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
1 août 2007 à 00:57
Merci Mamiemando pour ces explications.

Je suis nouveau sous linux et néophyte en informatique mais j' ai ouvert le fichier makefile et ai trouvé une ligne "KDE_CXXFLAGS = ", je vais essayer de la bidouiller.
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 19:14
Bonjour.
Bon, ben, j' ai essayé de rajouter la ligne -W -Wall -Wno-deprecated dans la ligne KDE_CXXFLAGS dans le fichier makefile et makefile.in, mais ça na rien changé et j' ai l' impression que le rajout a tendance à disparaitre à la tentative de compilation.
Il s' agit d' un programme développé d' abord pour i386, je m' en suis aperçu après coup, et je crois que mon pc est i586, le programme peut-il quand même tourner sur mon PC sans trop de bidouilles.

Je vais peut-être m' en mordre les doigts, mais en vérité, il me faut peut-être préciser que le logiciel en question est Pengaol 1.05, si cela peut aider.
0
mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 7 783
2 août 2007 à 19:22
Qu'est ce que tu compiles ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 19:28
Si ça peut aider, voici le lien de téléchargement de l' archive .tar en question.

Je n' y ai pas trouvé de fichiers README ou INSTALL expliquant en détail la marche à suivre, il y a un dossier "doc" avec 5 pages mais selon elles la compilation doit se faire en 1 seconde sans aucun problème. J' ai cherché sur d' autres sites des explications sur l' installation et la compilation mais si je demandes "./configure", on m' annonce que je dois d' abord recompiler, si je demandes à utiliser le fichier "make", on me dit que c' est pas possible ou un truc du genre.
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 19:30
Bonjour Mamie mando et merci encore pour ton aide.
En fait, j' essayes de compiler les sources contenues dans l' archive Pengaol1.05.tar afin d' installer le dit Pengaol sur mon PC. (toujours le même problème de connexion AOLbox de mes ****).

Je suis nouveau et j' essayes de suivre les conseils que je trouves mais j' y arrives pas comme j' écrivais.
0
mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 7 783
2 août 2007 à 20:26
C'est marrant en faisant un epitt apt-cache search j'ai trouvé ça :
(mando@aldur) (~) $ apt-cache search aol
aolserver4 - AOL Web Server 4 (Program)
...
aolserver4-nsxml - Module for XML support in aolsever4
grouch.app - AOL and ICQ Instant Messenger client for GNUstep
html-helper-mode - A popular HTML editing mode for emacs
naim - A console client for AOL Instant Messenger and IRC
penggy - connects to AOL via modem or TCP/IP
pork - Console-based AOL Instant Messenger & IRC client
sfront - MPEG 4 Structured Audio decoder
tagtool - tool to tag and rename MP3 and Ogg Vorbis files
timps - Transparent Instant Messaging Proxy Server

Apparemment il y a un paquet penggy (sous debian en tout cas) qui fait ce que tu veux. Et il semble exister sous mandriva :
http://fr2.rpmfind.net/...

Bref peut-être qu'il suffit de faire en root un petit :
urpmi penggy

Bonne chance
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 21:02
Merci de cette info, je vais essayer dans un instant et vous donner le résultat.
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
2 août 2007 à 21:54
Salut,

pour compiler et installer Peng il faut d'abord lancer la commande ./recompile

si on ouvre le fichier recompile on lit :
wim@neptune:~/Desktop/Tarball/peng$ cat recompile
#!/bin/sh

export CXXFLAGS="-D_REENTRANT"

mv configure configure.tmp
cp configure.ori configure
./configure --host i386 --target i386
rm configure
mv configure.tmp configure
make clean
blabalbla ....


c'est peut-être là qu'il faut bidouiller ...

:-))
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 23:14
Ben, j' ai essayé aussi de modifier cette ligne "export CXXFLAGS = -D REENTRANT" (celle là ainsi que celle ou il y avait CXXFLAGS, pas plus) mais ça a pas plus fonctionné. J' essayes les paquetages liés à Penggy et je verrais ce qu' il vaut.
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
3 août 2007 à 02:12
En fait, le fait de modifier la ligne CXXFLAGS dans le fichier recompile fait que je me vois affiché, lorsque je tapes la commande ./recompile, le message "permission non accordée" même en le faisant en tant que superutilisateur.
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 23:09
Alors, aux dernières nouvelles, je m' arraches les neveux avec un problème digne de la haute administration : Penggy requiert 3 fichiers (libguile-ltdl.so.1, libguile.so.12 et libqthreads.so.12), le site RPMPBone.net me renvoie, pour chacun de ces fichiers, à la page de téléchargement de libguile.12-1.6.8 qui requiert, lui, le fichier guile = 1.6.8 or une recherche de ce fichier me mène à l' installation de libguile12-1.6.8 ou à l' installation de siwg-doc, ce qui ne modifie pourtant rien ensuite à la dépendance en guile = 1.6.8.
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
2 août 2007 à 23:22
Dites, j' ai une question très conne : que signifie "Polish(ed) Linux Distribution" dans les pages de téléchargement ? que c' est une version stantard pour différentes versions ? (au fait, je ne trouves que des fichiers guile = 1.6.7 sur rpmfind)
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
3 août 2007 à 01:22
Alors, j' ai trouvé ceci : http://ftp.gnu.org/pub/gnu/guile/

J' ai téléchargé l' archive guile-1.6.8, l' ai transféré sur mon fixe, décompressé, configuré, compilé et installé sans problèmes (apparemment, du moins sans messages d' erreurs) et pourtant je ne peux toujours pas installer le paquetage libguile12-1.6.8. (censé convenir à la fois pour les 3 paquetages requis pour Penggy dans mon cas) car il ne trouve pas guile 1.6.8.
0
mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 7 783
3 août 2007 à 01:59
Normalement urpmi est sensé t'installer toutes les dépendances, non ? Tu tapes bien dans une console root :
urpmi penggy

Si tu as des problèmes de urpmi vérifie tes miroirs
http://easyurpmi.zarb.org/?language=fr
Si tu ne t'en sors pas normalement mandriva propose un gestionnaire de paquets en mode graphique.
Sinon pour le polished aucune idée j'ai jamais vu ça. A part te dire cf google je ne sais pas quoi te dire.

Bonne chance
0
shakt Messages postés 19 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 30 août 2007
3 août 2007 à 02:31
Ben, quand je tapes urpmi ..... en tant que superutilisateur, il m' affiche que le dit fichier ne peut être installé car tel fichier requis est non satisfait et me demande si je veux continuer. J' ai beau lui répondre oui, l' instant d' après le prompteur revient et je vérifies ensuite que le paquetage n' est pas installé.
J' ai été voir le lien que tu m' as fourni Mamiemando mais il y a un truc que je piges pas : à l' étape 3 il me dit de taper quelque chose à la console en tant que root apparement afin de me connecter avec le miroir de téléchargement, donc sur une console linux non ?, mais la connexion que j' ai est du fait de mon portable et c' est sur mon fixe que j' ai installé linux et que je galères dans le but de connecter enfin mon fixe (sous linux) à mon AOLbox.
0
mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 7 783
3 août 2007 à 18:34
Désolé je ne sais pas comment te dépanner. Sous debian et ubuntu il aurait suffit de télécharger les dépendances et de les mettre dans /var/cache/apt/archives, mais sous mandriva je ne sais pas comment faire. J'ai peur que tu doives télécharger tous les rpm requis sur un pc connecté à internet par exemple via rpmfind.net, et que tu installes ces paquets en root :
cd /le/repertoire/des/rpm
rpm -ivh *rpm

Le truc c'est que tu risques d'avoir des problèmes de dépendances en cascade :s

Bon courage (tu vas en avoir besoin)
0