OVH Cloud OVH Cloud

[ELF et progr en C] Fedora Core 2

9 réponses
Avatar
anaxagore
Bonjour,
je tente d'apprendre le C. Tout seul, ou presque, avec de la doc, qd meme.
Je suis sous Linux Fedora Core 2.
J'écris mon code source, le compile sans erreur avec gcc, et tenter de
le lancer.
Et bien sur, message d'erreur:
bash: ELF : command not found.
Je ne comprends pas d'ou vient l'erreur.
Le bash ne reconnait pas le format ELF?
Il me manque qqc? Une lib?
Merci de me mettre sur une piste.

9 réponses

Avatar
Basile Starynkevitch [news]
On 2004-10-10, anaxagore wrote:
Bonjour,
je tente d'apprendre le C. Tout seul, ou presque, avec de la doc, qd meme.
Je suis sous Linux Fedora Core 2.
J'écris mon code source, le compile sans erreur avec gcc, et tenter de
le lancer.
Et bien sur, message d'erreur:
bash: ELF : command not found.
Je ne comprends pas d'ou vient l'erreur.
Le bash ne reconnait pas le format ELF?


le format ELF est reconnu par le noyau, dans l'appel système
execve(2). Il n'est pas (spécifiquement) connu du bash, qui sait
executer (par execve) n'importe quel fichier executable (et donc des
fichiers ELF produit par le linker ou un compilateur).

Je ne comprends pas bien ce que vous voulez faire, et quelle est votre
erreur.

Quelques pistes:

1. ne nommez pas votre programme test (ou autre mots clefs du bash,
comme if cd ....)

2. si votre programme C est en plusieurs fichiers, faites un Makefile

3. si vous compilez votre programme par (par exemple)
gcc fichier.c -o monessai
executez le par
./monessai

puis renseignez vous sur la variable PATH et installez votre programme
dans un répertoire de votre PATH

Tout ca est archi connu, et documenté. Il convient d'abord de chercher
(par exemple dans un livre sur Linux, puis avec google) par vous même
avant de poser des questions sur Usenet.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France

Avatar
Rakotomandimby Mihamina
On Sun, 10 Oct 2004 21:47:16 +0000, Basile Starynkevitch [news] wrote:

On 2004-10-10, anaxagore wrote:
Bonjour,



Bonjour

Je ne comprends pas bien ce que vous voulez faire, et quelle est votre
erreur.


Oui, il aurait du nous dire comment il a compilé (avec quelles lignes de
commandes ...)

2. si votre programme C est en plusieurs fichiers, faites un
Makefile


http://gl.developpez.com/tutoriel/outil/makefile/

Tout ca est archi connu, et documenté. Il convient d'abord de chercher
(par exemple dans un livre sur Linux, puis avec google) par vous même
avant de poser des questions sur Usenet.


Par exemple:
http://www.ussg.iu.edu/hypermail/linux/kernel/9511/0183.html

--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)


Avatar
anaxagore
Basile Starynkevitch [news] wrote:
On 2004-10-10, anaxagore wrote:

Bonjour,
je tente d'apprendre le C. Tout seul, ou presque, avec de la doc, qd meme.
Je suis sous Linux Fedora Core 2.
J'écris mon code source, le compile sans erreur avec gcc, et tenter de
le lancer.
Et bien sur, message d'erreur:
bash: ELF : command not found.
Je ne comprends pas d'ou vient l'erreur.
Le bash ne reconnait pas le format ELF?



le format ELF est reconnu par le noyau, dans l'appel système
execve(2). Il n'est pas (spécifiquement) connu du bash, qui sait
executer (par execve) n'importe quel fichier executable (et donc des
fichiers ELF produit par le linker ou un compilateur).

Je ne comprends pas bien ce que vous voulez faire, et quelle est votre
erreur.

Quelques pistes:

1. ne nommez pas votre programme test (ou autre mots clefs du bash,
comme if cd ....)

2. si votre programme C est en plusieurs fichiers, faites un Makefile

3. si vous compilez votre programme par (par exemple)
gcc fichier.c -o monessai
executez le par
./monessai

puis renseignez vous sur la variable PATH et installez votre programme
dans un répertoire de votre PATH

Tout ca est archi connu, et documenté. Il convient d'abord de chercher
(par exemple dans un livre sur Linux, puis avec google) par vous même
avant de poser des questions sur Usenet.




J'ai fait tout cela et me suis déjà documenté.


Avatar
anaxagore
Rakotomandimby Mihamina wrote:
On Sun, 10 Oct 2004 21:47:16 +0000, Basile Starynkevitch [news] wrote:


On 2004-10-10, anaxagore wrote:

Bonjour,




Bonjour


Je ne comprends pas bien ce que vous voulez faire, et quelle est votre
erreur.



Oui, il aurait du nous dire comment il a compilé (avec quelles lignes de
commandes ...)


2. si votre programme C est en plusieurs fichiers, faites un
Makefile



http://gl.developpez.com/tutoriel/outil/makefile/


Tout ca est archi connu, et documenté. Il convient d'abord de chercher
(par exemple dans un livre sur Linux, puis avec google) par vous même
avant de poser des questions sur Usenet.



Par exemple:
http://www.ussg.iu.edu/hypermail/linux/kernel/9511/0183.html



Google, je connais et en use. Je n'en abuserai jamais.
Désolé, mais votre lien ne m'apporte rien. [Il y a encore des crétins
pour suggérer google???, faut se calmer, ce n'est pas parceque certains
ont des problèmes avec leur système que ce sont des indigents
intellectuels; dans la même optique, ceux qui n'ont pas de problèmes
sont des génies?]
Ma compilation: gcc prog.c -o prog -lncurses
Je me suis orienté vers un bleme de "ELF", mais la fedora supporte ce
format. Je crois. J'y retourne.

PS: probleme inexistant sous FreeBSD. Mais puisque, personnellement je
voulais aider qqn, j'ai un peu insisté.



Avatar
Basile Starynkevitch [news]
On 2004-10-11, anaxagore wrote:
Ma compilation: gcc prog.c -o prog -lncurses


Ca devrait marcher, sauf si prog.c contient des références
indéfinies. Si ca ne marche pas, il y a peut-être un problème de
configuration du compilateur (ou lde /etc/ld.so.conf ou autre).

Je me suis orienté vers un bleme de "ELF", mais la fedora supporte ce
format. Je crois. J'y retourne.


Je n'ai toujours pas compris votre problème. Quel est le source le
plus petit illustrant l'erreur, et quels sont les messages d'erreur
exacts?



--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France

Avatar
TiChou
Dans le message <news:416aaece$0$7212$,
*anaxagore* tapota sur f.c.o.l.configuration :

[...]

Google, je connais et en use. Je n'en abuserai jamais.


Google c'est bon, mangez en !

Désolé, mais votre lien ne m'apporte rien. [Il y a encore des crétins pour
suggérer google???,


Oui, tant qu'il y aura des « crétins », pour reprendre votre expression, qui
ne seront pas poser intelligemment des questions et exposer clairement
leur(s) problème(s).

En attendant, force est de constater que personne n'a réellement saisi votre
problème et pourtant les contributeurs de ce groupe sont loin d'être des «
crétins ».

faut se calmer, ce n'est pas parceque certains ont des problèmes avec leur
système que ce sont des indigents intellectuels;


Oh, il n'y a pourtant pas loin à aller. ;-)

dans la même optique, ceux qui n'ont pas de problèmes sont des génies?]


Mon entourage me dit souvent que je suis un génie et maintenant que vous le
dites, je remarque effectivement que je n'ai jamais de problèmes.

--
TiChou

Avatar
anaxagore
TiChou wrote:
Dans le message <news:416aaece$0$7212$,
*anaxagore* tapota sur f.c.o.l.configuration :

[...]

Google, je connais et en use. Je n'en abuserai jamais.



Google c'est bon, mangez en !


Parfois indigeste, mais qd il faut, il faut.

Désolé, mais votre lien ne m'apporte rien. [Il y a encore des crétins
pour suggérer google???,



Oui, tant qu'il y aura des « crétins », pour reprendre votre expression,
qui ne seront pas poser intelligemment des questions et exposer
clairement leur(s) problème(s).


Oui, entre énoncer clairement et être un peu trop exhaustif, au risque
d'ennuyer, je sais pas trop ou je dois poser la limite.

En attendant, force est de constater que personne n'a réellement saisi
votre problème et pourtant les contributeurs de ce groupe sont loin
d'être des « crétins ».


Tant mieux pour eux.
faut se calmer, ce n'est pas parceque certains ont des problèmes avec
leur
système que ce sont des indigents intellectuels;



Oh, il n'y a pourtant pas loin à aller. ;-)
Ben non: le con c'est l'autre! (Maître Desproges).


dans la même optique, ceux qui n'ont pas de problèmes sont des génies?]



Mon entourage me dit souvent que je suis un génie et maintenant que vous
le dites, je remarque effectivement que je n'ai jamais de problèmes.

Un génie, c'est toujours mignon, à défaut d'être modeste.

Mais un génie sans problème...Pourquoi pas un artiste épanoui, tant
qu'on y est?

En déboguant (via Anjuta): Error while mapping shared library section.
Je vais mettre de l'ordre dans tout ça.
Merci.


Avatar
anaxagore
Basile Starynkevitch [news] wrote:
On 2004-10-10, anaxagore wrote:

Bonjour,
je tente d'apprendre le C. Tout seul, ou presque, avec de la doc, qd meme.
Je suis sous Linux Fedora Core 2.
J'écris mon code source, le compile sans erreur avec gcc, et tenter de
le lancer.
Et bien sur, message d'erreur:
bash: ELF : command not found.
Je ne comprends pas d'ou vient l'erreur.
Le bash ne reconnait pas le format ELF?



le format ELF est reconnu par le noyau, dans l'appel système
execve(2). Il n'est pas (spécifiquement) connu du bash, qui sait
executer (par execve) n'importe quel fichier executable (et donc des
fichiers ELF produit par le linker ou un compilateur).

Eclaircissement bienvenu. Mais Dans ce cas je ne comprends pas ce

message d'erreur si le bash sait exécuter n'importe quel fichier
exécutable ("ELF : command not found").

Quelques pistes:

1. ne nommez pas votre programme test (ou autre mots clefs du bash,
comme if cd ....)

2. si votre programme C est en plusieurs fichiers, faites un Makefile

3. si vous compilez votre programme par (par exemple)
gcc fichier.c -o monessai
executez le par
./monessai

puis renseignez vous sur la variable PATH et installez votre programme
dans un répertoire de votre PATH

Tout ca est archi connu, et documenté. Il convient d'abord de chercher
(par exemple dans un livre sur Linux, puis avec google) par vous même
avant de poser des questions sur Usenet.


Oui j'avais fait attention à ça, d'ou ma détresse.
Je plonge ds execve et le bash.
Merci.


Avatar
Basile Starynkevitch [news]
On 2004-10-11, anaxagore wrote:
Basile Starynkevitch [news] wrote:
On 2004-10-10, anaxagore wrote:

Bonjour,
je tente d'apprendre le C. Tout seul, ou presque, avec de la doc, qd meme.
Je suis sous Linux Fedora Core 2.
J'écris mon code source, le compile sans erreur avec gcc, et tenter de
le lancer.
Et bien sur, message d'erreur:
bash: ELF : command not found.




Quels sont *exactement* :

1. la commande de compilation?

(truc, remplacez "gcc" par "gcc -v -H -Wall")

2. la commande pour l'execution?

(truc: essayez de préfixer la commande par strace)

3. le fichier source minimal exhibant le problème?

Cordialement.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France