[résolu] - Erreur de compilation

Bonsoir,

Lorsque j’essaye de compiler j’ai cette erreur.
error: expected ‘)’ before string constant

Merci pour l’aide.
Le ./configure c’est bien passé

Tu peux donner encore moins de détails ?

Oui je vais essayer :slightly_smiling:

Linux debian 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686 GNU/Linux

Je veux compiler un logiciel qui s’appelle GVNA en version 0.1.2, avec la version 0.1.1 j’ai la même erreur.

J’ai apparemment toutes les dépendances demandés par le logiciel.

Il n’y a pas d’erreur à la fin du ./configure

Et … Je ne sais pas vraiment quoi dire d’autre :frowning:

Salut,

Tu peux donner les dernières lignes ou il y a le message d’erreur ?

En plus du message d’erreur bien sur, soie pas radin en info cette fois :stuck_out_tongue:

Encore un peu léger, bon je te suggère d’essayer de compiler avec gcc-4.1, puis gcc-3.3 et enfin gcc-2.95 successivement. Sinon, il faut indiquer où on peut trouver le source de ton truc…

Alors :

debian:/home/f4biv/telechargement/Analyzer-0.1.2# make make all-recursive make[1]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » Making all in driver make[2]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[3]: entrant dans le répertoire « /usr/src/linux-headers-2.6.18-6-686 » CC [M] /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:663: error: expected ‘)’ before string constant make[4]: *** [/home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o] Erreur 1 make[3]: *** [_module_/home/f4biv/telechargement/Analyzer-0.1.2/driver] Erreur 2 make[3]: quittant le répertoire « /usr/src/linux-headers-2.6.18-6-686 » gvna.ko failed to build! make[2]: *** [module] Erreur 1 make[2]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » make: *** [all] Erreur 2 debian:/home/f4biv/telechargement/Analyzer-0.1.2#

Les sources se trouvent ici : http://linux.softpedia.com/get/System/Networking/Gnome-Vector-Network-Analyzer-4594.shtml

Merci d’avance :slightly_smiling:

Eh ben tu vois, c’est quand même plus clair:

Remplace la ligne 663 du fichier Analyzer-0.1.2/driver/gvna_dev.c

qui est

en

par contre, cela veut dire que c’est un vieux code.

J’ai toujours l’erreur, c’est un fichier de 2006.

make all-recursive make[1]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » Making all in driver make[2]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[3]: entrant dans le répertoire « /usr/src/linux-headers-2.6.18-6-686 » CC [M] /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:663: error: expected ‘)’ before string constant make[4]: *** [/home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o] Erreur 1 make[3]: *** [_module_/home/f4biv/telechargement/Analyzer-0.1.2/driver] Erreur 2 make[3]: quittant le répertoire « /usr/src/linux-headers-2.6.18-6-686 » gvna.ko failed to build! make[2]: *** [module] Erreur 1 make[2]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » make: *** [all] Erreur 2

Rajoute

à la ligne 21

Y’a du mieux :slightly_smiling: on a gagné une ligne :frowning:

make all-recursive make[1]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » Making all in driver make[2]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[3]: entrant dans le répertoire « /usr/src/linux-headers-2.6.18-6-686 » CC [M] /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:664: error: expected ‘)’ before string constant make[4]: *** [/home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o] Erreur 1 make[3]: *** [_module_/home/f4biv/telechargement/Analyzer-0.1.2/driver] Erreur 2 make[3]: quittant le répertoire « /usr/src/linux-headers-2.6.18-6-686 » gvna.ko failed to build! make[2]: *** [module] Erreur 1 make[2]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » make: *** [all] Erreur 2

J’ai essayé de rajouter 0644 comme sur la ligne précédente mais ça doit être chose. On ne peut pas mettre 3 arguments dans “MODULE_PARM_DESC”

Plus étonnant ça, réessaye en remplaçant “h” par short (sans guillemet)

Toujours la même erreur.

module_parm(debug,short,0644); MODULE_PARM_DESC(debug, "Enable level: acepted values: 1 to switch debug on, 0 to switch debug off.");

Arf, désolé, c’est «module_param(debug,short,0644);», ma mémoire me joue des tours, cette idée aussi de passer de PARM à param!!! :frowning:
En gros, voilà le diff sur les sources:

[code]diff -urN Analyzer-0.1.2/driver/gvna_dev.c Analyzer-0.1.2.new/driver/gvna_dev.c
— Analyzer-0.1.2/driver/gvna_dev.c 2006-06-18 17:51:24.000000000 +0200
+++ Analyzer-0.1.2.new/driver/gvna_dev.c 2008-03-16 09:45:26.000000000 +0100
@@ -20,7 +20,7 @@

#include <linux/kernel.h> /* We’re doing kernel work /
#include <linux/module.h> /
Specifically, a module /
-#include <linux/config.h>
+#include <linux/moduleparam.h> /
Specifically, a module */
#include <linux/init.h>
#include <linux/device.h>
#include <linux/fs.h>
@@ -660,7 +660,8 @@
// driver_unregister(&gvna_driver);
}

-MODULE_PARM(debug, “h”);
+module_param(debug,short,0644);
+
MODULE_PARM_DESC(debug, “Enable level: acepted values: 1 to switch debug on, 0 to switch debug off.”);
MODULE_AUTHOR(“Juan Carlos Remis jcremis@ya.com”);
MODULE_DESCRIPTION("Gnome Vector Network Analyzer parallel port driver, ver: " DRV_VERSION " " DRV_RELDATE);
[/code]

Bonjour,
ça avance mais il y a des erreurs ensuite.

make all-recursive make[1]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » Making all in driver make[2]: entrant dans le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[3]: entrant dans le répertoire « /usr/src/linux-headers-2.6.18-6-686 » CC [M] /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c: In function ‘__check_debug’: /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:664: warning: return from incompatible pointer type /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c: At top level: /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:111: warning: ‘show_ctrl’ defined but not used /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:116: warning: ‘store_ctrl’ defined but not used /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:62: warning: ‘gvna_driver’ defined but not used /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:66: warning: ‘driver_attr_version’ defined but not used /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:67: warning: ‘driver_attr_debug’ defined but not used /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c:672: fatal error: opening dependency file /home/f4biv/telechargement/Analyzer-0.1.2/driver/.gvna_dev.o.d: Permission non accordée compilation terminated. make[4]: *** [/home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.o] Erreur 1 make[3]: *** [_module_/home/f4biv/telechargement/Analyzer-0.1.2/driver] Erreur 2 make[3]: quittant le répertoire « /usr/src/linux-headers-2.6.18-6-686 » gvna.ko failed to build! make[2]: *** [module] Erreur 1 make[2]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2/driver » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/f4biv/telechargement/Analyzer-0.1.2 » make: *** [all] Erreur 2

C’est le bazar ce truc :frowning:

La, ce n’est plus un pb de compil, mais de droits d’accés à un fichier, il me semble.
Tu n’aurais pas modifié /home/f4biv/telechargement/Analyzer-0.1.2/driver/gvna_dev.c en root ou un truc comme ça ?
un chown -R tonuser:tonuser /home/f4biv/telechargement/Analyzer-0.1.2 peut être ?
Ou il te manque peut être de la place pour écrire dans /home/f4biv/telechargement/Analyzer-0.1.2/driver/.gvna_dev.o.d ?

Je confirme, j’ai fini par compiler ce truc (du moins le module):

francois@totoche:/tmp/Analyzer-0.1.2/driver$ make
make[1]: entrant dans le répertoire « /usr/src/linux-source-2.6.18 »
  CC [M]  /tmp/Analyzer-0.1.2/driver/gvna_dev.o
/tmp/Analyzer-0.1.2/driver/gvna_dev.c: In function '__check_debug':
/tmp/Analyzer-0.1.2/driver/gvna_dev.c:663: warning: return from incompatible pointer type
/tmp/Analyzer-0.1.2/driver/gvna_dev.c: At top level:
/tmp/Analyzer-0.1.2/driver/gvna_dev.c:110: warning: 'show_ctrl' defined but not used
/tmp/Analyzer-0.1.2/driver/gvna_dev.c:115: warning: 'store_ctrl' defined but not used
/tmp/Analyzer-0.1.2/driver/gvna_dev.c:61: warning: 'gvna_driver' defined but not used
/tmp/Analyzer-0.1.2/driver/gvna_dev.c:65: warning: 'driver_attr_version' defined but not used
/tmp/Analyzer-0.1.2/driver/gvna_dev.c:66: warning: 'driver_attr_debug' defined but not used
  LD [M]  /tmp/Analyzer-0.1.2/driver/gvna.o
  Building modules, stage 2.
  MODPOST
  CC      /tmp/Analyzer-0.1.2/driver/gvna.mod.o
  LD [M]  /tmp/Analyzer-0.1.2/driver/gvna.ko
make[1]: quittant le répertoire « /usr/src/linux-source-2.6.18 »
cc    -c -o test_gvna.o test_gvna.c
cc   test_gvna.o   -o test_gvna
francois@totoche:/tmp/Analyzer-0.1.2/driver$ ls *.ko
gvna.ko
francois@totoche:/tmp/Analyzer-0.1.2/driver$ 

Les warniongs n’ont aucune importance ici, ce sont des fonctions non utilisées.

Effectivement j’ai du faire une modif avec root :frowning:
Le ‘make’ est apparemment arrivé au bout
j’ai fais un make install
Qui à l’air de s’être bien passé (pas de message d’erreur à la fin)
gvna en console j’ai ‘gvna
bash: gvna: command not found

sous debian, au moment du make install, il vaut toujours mieux “wrapper” l’install avec checkinstall make install: ça crée un paquet pour apt qu’on peut ensuite désinstaller proprement.
Sinon, es tu sûr que le nom de la commande à lancer est gvna, et qu’elle est dans le path ?
Tu devrais éplucher le Makefile pour voir ce que fait le make install, et voir aussi ce que dit man -k gvna .

checkinstall make install:

checkinstall make install bash: checkinstall: command not found

Comment voir si il est dans le bash ?

man -k gvna gvna: rien d'adéquat

Je suis pas très bon lol
en fait c’est ‘analyzer’ qu’il faut lancer. Et j’essayais ‘analyser’

Le logiciel ce lance.
Plus qu’à voir si ça fonctionne avec le miniVNA

Merci :smiley:

non, mais checkinstall, c’est une bonne pratique, mais c’est optionnel, et il faut l’installer avant de l’utiliser.

Sinon, si tu as besoin de chercher des choses, regardes du coté de find, ou de slocate (qu’il faut aussi installer).