Problème de compilation
Résolu[root@lns-bzn-53-82-65-53-189 Documents]# fpc echange.pas
bash: fpc: command not found
[root@lns-bzn-53-82-65-53-189 Documents]# fpcompile echange.pas
bash: fpcompile: command not found
D'où peut venir le problème ?
merci
Configuration: Linux Mandriva Firefox 1.5.0.7
43 réponses
Suite à l’installation de Free Pascal sous Mandriva, l’utilisateur ne parvient pas à lancer le compilateur fpc et reçoit l’erreur bash: /usr/local/bin/fpc: cannot execute binary file. Des réponses proposent d’utiliser le chemin absolu du binaire se trouvant dans /home/chocho/tmp/y/bin/fpc ou de créer un lien symbolique vers /usr/local/bin pour que la commande fpc soit directement accessible. En cas de doute sur le chemin d’accès, plusieurs échanges suggèrent d’inspecter PATH et d’utiliser whereis fpc pour confirmer l’emplacement réel du compilateur, qui peut apparaître comme /usr/local/bin/fpc après création du lien. Dernièrement, l’observation reportée est qu’un 'cannot execute binary file' persiste malgré le lien, signalant potentiellement une incompatibilité d’architecture ou des bibliothèques manquantes, nécessitant l’obtention du binaire adapté.
-
ModérateurDe rien :-)
Je ne t'ai pas proposé le .rpm puisqu'il semblais que tu veuille l'installer depuis les sources.
Bien sûr qu'avec un paquetage c'est plus simple, et recommandé pour la commodité. En revanche si tu veux connaître ce qui est sous le capot alors la ligne de commande est à ta disposition.
Je te propose 3 tutos dans la faq ccm qui pourront t'aider à comprendre certaines choses :-)
shell guide d utilisation niveau debutant
securite droits d acces gnu linux
bash la variable d environnement path
Bon continuation :-)) -
bon... alors là j'ai juste éléchargé le rmp , je suis dans tmp et j'ai ceci :
ls fpc-2.0.4-0.i586.rpm ksocket-chocho/ orbit-chocho/ kde-chocho/ mapping-chocho=
ensuite j'ai fait ceci grace au lien que tu m'as filé :
# rpm -ivh fpc-2.0.4-0.i586.rpm Préparation... ########################################### [100%] 1:fpc ########################################### [100%] Running on linux Write permission in /etc. Found libgcc.a in /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1 Writing sample configuration file to /etc/fpc.cfg
et finalement j'arrive à çà :
fpc test.pas Free Pascal Compiler version 2.0.4 [2006/08/20] for i386 Copyright (c) 1993-2006 by Florian Klaempfl Target OS: Linux for i386 Compiling test.pas Linking test 3 Lines compiled, 0.2 sec [root@lns-bzn-53-82-65-53-189 Documents]# ls Commandes.odt echange.pas test* test.o test.pas [root@lns-bzn-53-82-65-53-189 Documents]# ./test Bienvenue dans GNU Pascal !
J'ai réussi grâce à toi , je te remercie pour ta grande patience sans toi j'y serai jamais arrivé et j'ai appris pleins de trucs ( installé un rpm , la commande ln...) , merci pour tout . -
ModérateurNon, ce n'est pas vraiment le même lien
voilà le tien
http://www.freepascal.org/down/x86_64/linux-ftp.freepascal.org.var
et voilà le mien
http://www.freepascal.org/down/i386/linux-ftp.freepascal.org.var
la différence est en gras
et moi j'ai installé i386 vu que j'ailami20j@debian:/mnt/hdb5/azureus_lib$ uname -m i686
-
Salut lamij , à propos du lien que tu m'as donné c'est le même que le mien je pense vu que j'ai la même erreur de compilation...non?
merci -
Tu as installer Mandriva i686 donc tu dois télécharger ce fpc
http://www.freepascal.org/down/i386/linux-ftp.freepascal.org.var
j'ai été le télécharger et tout réinstallé et j'ai la même erreur , à demain :) . -
ModérateurBon, je vais quitter maintenant.
Peut être toi aussi tu dois aller te coucher. Si tu es fatigue tu risque de faire des erreurs.
On peut voir ça demain.
Bonne nuit. -
ModérateurC'est quoi tes répertoires y, n , tu as fait un sacré bordel à l'installation :-))
Moi j'ai un seul répertoire qui contient tous les sous-répertoire de fpc
Pour supprimer il faut faire attention
si y et n ne contient que fpc alors tu peux supprimer comme çarm -vfR /home/chocho/tmp/y rm -vfR /home/chocho/Desktop/n rm -v /home/chocho/tmp/fpc-2.0.4.x86_64-linux.tar su -c "rm -v /usr/local/bin/fpc"
-
comment détruire entièrement un fichier sous linux ( ici le fpc évidemment ) ?
merci -
ModérateurJe sais pour quoi, et c'est aussi un peu ma faute, je n'ai pas fait attention
uname -a Linux lns-bzn-.adsl.proxad.net 2.6.17-5mdv #1 SMP Wed Sep 13 14:32:31 EDT 2006 i686 AMD Athlon(tm) 64 Processor 3200+ GNU/LinuxLe fait que tu as un Processeur AMD 64 ne veut pas dire que tu dois télécharger un logiciel x86_64
Tu as installer Mandriva i686 donc tu dois télécharger ce fpc
http://www.freepascal.org/down/i386/linux-ftp.freepascal.org.var
Ce message /usr/local/bin/fpc: cannot execute binary file c'est pour cette raison, l'installation de fpc pour une architecture qui n'est pas la tienne
supprime liensu -c "rm -vi /usr/local/bin/fpc"
et aussi le fpc que tu as installer et télécharge le bon et recommence :-)) -
pour le fichier echange.pas ( c'est un programme qui échange la valeur de 2 variables c'est tout , juste une séquence ) :
program echange; var nombre1: INTEGER; nombre2: INTEGER; nombre3: INTEGER; nombre1 := 2; nombre2 := 4; writeln(nombre1,nombre2); begin nombre3 := nombre1; nombre1 := nombre2; nombre2 := nombre3; writeln(nombre1,nombre2); end.
$ cat /etc/fstab /dev/sda5 / ext3 defaults 1 1 /dev/sda7 /home ext3 defaults 1 2 /dev/hdc /mnt/cdrom auto umask=0022,users,iocharset=utf8,noauto,ro,exec 0 0 /dev/sda1 /mnt/windows ntfs umask=0022,nls=utf8,ro 0 0 none /proc proc defaults 0 0 /dev/sda6 swap swap defaults 0 0
-
ModérateurAffiche aussi
cat /etc/fstab
-
je pense pas personnelement que le problème viennent des fichiers .pas , car les codes sont justes :
kate QObject::disconnect: Unexpected null parameter [chocho@lns-bzn-53-82-65-53-189 Documents]$ fpc test.pas && ./test bash: /usr/local/bin/fpc: cannot execute binary file [chocho@lns-bzn-53-82-65-53-189 Documents]$ fpc test.pas bash: /usr/local/bin/fpc: cannot execute binary file
j'ai fait exactement ce que tu m'as dit . -
Modérateurou donne le fichier echange.pas pour tester chez moi
affiche aussifile echange.pas
-
Modérateur
whereis fpc fpc: /etc/fpc.cfg /usr/local/bin/fpc
ok donc tu as ce que tu veux, je parle de fpc
maintenant il y a un problème avec echange.pas
essaie avec ce fichierprogram Test; begin Writeln('Bienvenue dans GNU Pascal !'); end.enregistre sous Documents avec le nom de test.pas et tapefpc test.pass && ./test
-
[chocho@lns-bzn-53-82-65-53-189 ~]$ pwd /home/chocho [chocho@lns-bzn-53-82-65-53-189 ~]$ su -c "ln -svf /home/chocho/tmp/y/bin/fpc /usr/local/bin" Mot de passe: création du lien symbolique `/usr/local/bin/fpc' vers `/home/chocho/tmp/y/bin/fpc' [chocho@lns-bzn-53-82-65-53-189 ~]$ whereis fpc fpc: /etc/fpc.cfg /usr/local/bin/fpc [chocho@lns-bzn-53-82-65-53-189 ~]$ ls Desktop/ Firefox_wallpaper.png Musique/ tmp/ Documents/ Images/ Téléchargement/ Vidéo/ [chocho@lns-bzn-53-82-65-53-189 ~]$ cd Documents [chocho@lns-bzn-53-82-65-53-189 Documents]$ ls Commandes.odt echange.pas [chocho@lns-bzn-53-82-65-53-189 Documents]$ fpc echange.pas bash: /usr/local/bin/fpc: cannot execute binary file
-
Modérateurquand tu est ici
[celia@lns-bzn-53-82-65-53-189 ~]$
tapesu -c "ln -svf /home/chocho/tmp/y/bin/fpc /usr/local/bin"
il y a un espace entre fpc et /usr/local/bin, et tout est sur une seule ligne -
# su -c "ln -s /home/chocho/tmp/y/bin/fpc/usr/lo cal/bin" ln: création d'un lien symbolique `./bin' vers `/home/chocho/tmp/y/bin/fpc/usr/l ocal/bin': Le fichier existe. [root@lns-bzn-53-82-65-53-189 /]# whereis fpc fpc: /etc/fpc.cfg
-
ModérateurTape cette commande
su -c "ln -s /home/chocho/tmp/y/bin/fpc /usr/local/bin"
ensuite
affiche le résultat de la commandewhereis fpc
si tu vois fpc: /usr/local/bin/fpc alors c'est olk
Maintenant tu peux aller dans /home/chocho/documents et taperfpc fichier.pas
-
echo $PATH /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/lib/qt3//bin
-
ModérateurOk je vais te montrer comment il faut faire mais d'abord
Affiche le résultat de la commandeecho $PATH
- 1
- 2
- 3