# gcc, compilateurs C et autres trucs que je comprends pas



## Nathalex (10 Janvier 2002)

C'est malin, j'ai passé mes vacances avec un unixien et maintenant, il me prend l'idée de faire des trucs dont je n'avais pas même idée il y a dix jours...

Le but ultime est d'installer Xfig pour faire des super graphiques en eps pour inclure dans mes travaux en latex...

Alors, on m'a dit quele début de tout était de trouver un compilateur C, gcc étant le plus connu, gratuit, etc.

Je suis donc allé voir sur les sites mentionnés plus bas dans ces forums pour constater que la version actuelle était la 3.0.3. Mais est-ce que cela va pouvoir s'intaller sur Mac OS X ? Ce serait déjà un bon début   
	

	
	
		
		

		
			





[09 janvier 2002 : message édité par Nathalex]


----------



## Einbert (10 Janvier 2002)

La version 3.0.3 de gcc ne fonctionne pas encore sur OS X...seulement à partir de la version 3.1 !! Tu as vraiment besoin de gcc, car autrement, ben utilise le cc qui est installé sur OS X (je crois d'ailleurs qu'il s'agit en fait d'une version de gcc, la 2.95 si je me rappelle bien)...Si c'est juste compiler que tu as besoin, ben cc va très bien  
	

	
	
		
		

		
		
	


	




++


----------



## Nathalex (10 Janvier 2002)

Ben alors, c'est encore mieux que ce que je pensais... Ca commence à devenir une habitude avec cet OS  
	

	
	
		
		

		
		
	


	




Bon, je continue mes explorations !

Merci


----------



## Einbert (10 Janvier 2002)

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Nathalex:
*
Bon, je continue mes explorations !
*<HR></BLOCKQUOTE>

J'espère que tu n'as pas oublié ton scaphandre  
	

	
	
		
		

		
		
	


	



Essaye néanmoins avec cc, ça devrait fonctionner  
	

	
	
		
		

		
		
	


	




++


----------



## Nathalex (10 Janvier 2002)

Mauvais débuts  
	

	
	
		
		

		
		
	


	




Quand je tape cc dans mon terminal, il me propose wc à la place (en d'autres termes, il m'enverrait presque ch...  
	

	
	
		
		

		
		
	


	




 ).
Y a-t-il un rapport entre les outils de développement et cc ?

Il semble me souvenir que les outils de développement ne sont pas inclus avec les versions d'OS X livrés avec les machines. Mais comme je n'arrive plus à mettre la main sur tous mes CD et la doc de mon ibook depuis quelques jours, je n'en suis pas sûr...

S'il faut les télécharger, je suis aller voir sur 

FTP d'Apple mais je dois télécharger quoi exactement ?


----------



## Einbert (10 Janvier 2002)

tu dois en effet avoir les devtools pour utiliser cc !!
tu dois aller t'inscrire ici , c'est gratuit, pour pouvoir ensuite d/l les devtools (donc les dernières, resp. ceux de décembre...)

++


----------



## simon (10 Janvier 2002)

Euh il y a un rapport entre la commande cc et les outils du dvpt !!!  
	

	
	
		
		

		
		
	


	




Pour les avoir il faut te faire un compte chez apple, par ici: https://connect.apple.com c'est gratuit et après tu peux downloader les outils de dpvt de décembre et tu auras tout ce qu'il faut


----------



## simon (10 Janvier 2002)

Euh il y a un rapport entre la commande cc et les outils du dvpt !!!  
	

	
	
		
		

		
		
	


	




Pour les avoir il faut te faire un compte chez apple, par ici: https://connect.apple.com c'est gratuit et après tu peux downloader les outils de dpvt de décembre et tu auras tout ce qu'il faut


----------



## Nathalex (16 Janvier 2002)

Bon, je reviens à la charge !

J'ai téléchargé les outils de développement non sans mal mais c'est fait (merci Jérôme).

Quand je tape cc, il se passe donc désormais quelque chose. L'ami que je mentionne en haut de ce sujet m'a encoyé des petits sources très très simples pour vérifier que cela fonctionne (je sens que je vais bientôt le convertir à MacOS X) et là, les ennuis reprennent.

Les fichiers .c qu'il m'envoie contiennent en effet des lignes "include toto.h" qui génèrent des messages d'erreur. Je lui ai signalé le problème et il me répond que ce sont des fichiers standard (genre ctype.h). J'ai fait une recherche avec Sherlock et mes fichiers ne sont pas sur mon DD.

Est-ce que cela vient du fait que je n'ai installé que le package devtools.pkg des outils de développement. Si oui, que dois-je installer d'autres (je voulais éviter de surcharger le DD de mon ibook et ai donc réduit au maximum les installations).

Merci de vos lumières

Alexis


----------



## Einbert (16 Janvier 2002)

C'est quoi la biblio qui cause problème ?
Le compilateur renvoie quoi comme erreur (fais-nous voir un petit copier-coller de ce qui est rendu en erreur...)
En effet, si tu as installé les devtools, ben il installe tout...Y compris les bliblio bien sûr  
	

	
	
		
		

		
		
	


	




++


----------



## Nathalex (16 Janvier 2002)

Voilà l'erreur : 

[localhost:~/documents/devlop] alexis% cc allchar.c
allchar.c:1: header file 'stdio.h' not found
allchar.c:2: header file 'stdlib.h' not found
cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode
[localhost:~/documents/devlop] alexis%


----------



## Einbert (16 Janvier 2002)

est-ce que le fichier source commence bien par
#include &lt;stdio.h&gt; 
 ????????

On sait jamais  
	

	
	
		
		

		
		
	


	




++


----------



## Nathalex (16 Janvier 2002)

Oui oui....


----------



## Einbert (16 Janvier 2002)

Bizarre...Euh, ben réinstalle les devtools alors...c'est qu'il y a eu problème pendant l'installe...Je ne vois pas autrement...Tape voir la commande
ls /usr/include | grep stdio.h


++


----------



## Nathalex (17 Janvier 2002)

Une étape de plus de franchie !!
J'ai réinstallé l'intégralité des outils développeurs : mon dossier Developer est passé de 40 à 400 Mo mais au moins, ça marche : je peux compiler les petits fichiers exemples que l'on m'a envoyés  
	

	
	
		
		

		
		
	


	




Merci !


----------



## Membre supprimé 2 (17 Janvier 2002)

salut

j'ai aussi quelques problèmes lors de ma compilation. je fais cc main.c -o main. Et quand je veux lancer main, il me marque command not found.
Comment faire pour lancer mon exécutable


----------



## Nathalex (17 Janvier 2002)

Bon, là, je peux faire mon malin  
	

	
	
		
		

		
		
	


	




Je crois que c'est parce que le répertoire courant n'est pas dans le path.
Pour lancer l'exécution, il faut donc faire ./truc où truc est le nom du fichier à exécuter.

Après, on peut modifier le fichier du shell mais vérifie d'abord que le problème vient bien de là.


----------



## Membre supprimé 2 (17 Janvier 2002)

bien joué Nathalex, t'as résolu mon problème.

Maintenant quel est le fichier à modifier pour éviter à chaque fois de taper ./executable?


----------



## Nathalex (17 Janvier 2002)

J'ai lu sur les discussion du support d'apple.com qu'il suffisait d'ajouter la ligne :
set path = ($path .)
dans le fichier .tcshrc (le créer au besoin) à la racine de ton dossier utilisateur (cd dans la ligne de commandes).

Toutefois, les intervenants du forum Apple soulignent également les risques à ajouter le répertoire courant dans le path pour des raisons de sécurité qui me dépassent un peu.

Ils conseillent de copier les exécutables compilés dans usr/local/bin qui figure bien dans le path (tu peux le vérifier par echo $path).

Une précision : je débute complètement sur ces questions, je peux très facilement être contredit ou complété par les visiteurs plus expérimentés


----------



## Membre supprimé 2 (17 Janvier 2002)

merci pour tes infos nathalex


----------



## Einbert (17 Janvier 2002)

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Nathalex:
*
Toutefois, les intervenants du forum Apple soulignent également les risques à ajouter le répertoire courant dans le path pour des raisons de sécurité qui me dépassent un peu.
*<HR></BLOCKQUOTE>

Je ne suis pas non plus expert dans la matière dans le domaine (certaines personnes du forum seront bien plus aptes que moi) ... Moi je dirais qu'il y a risque si tu mets le point (donc pour dire qu'il va d'abord chercher dans le dossier courrant) en début de ton path, car quand tu tapes une commande, il parcourt tout le path à la recherche de cette commande (donc commence normallement par chercher dans le dossier /bin ou /usr/bin)...Prenons par hasard la commande toute simple _ls_ ...dans ce cas il va s'arrêter à /bin, car c'est le premier dossier du path dans lequel il l'a trouvé...Imaginons que le point se trouve maintenant en début du path, donc qu'il va d'abord regarder si cette commande se trouve dans le dossier courrant; imaginons que tu aies un dossier public où tout le monde à le droit d'écriture et qu'un petit voyou y place un script nommé _ls_, mais que celui-ci ne fasse pas exactement ce que devrait faire le ls normal, mais te fasse un script qui exécute par exemple chmod 000 /Users/toto ... ben là tu es dans la m, car tu ne pourras plus accéder à ton dossier home...Bon il y a tjrs root qui peut intervenir...Le pire scénario c'est bien sûr si ce script va installer un cheval de troie je ne sais où ou bien ouvrir un certain port, ou pire encore lui donnant un accès root !!!!  Tu vois donc le problème...donc si ce point se trouve en fin de path, c'est déjà nettement mieux...Mais bon, comme nos machines ne sont pour la plupart pas des servers Unix où tout le monde a accès, ben le risque est proche de 0 !!!!

++


----------



## Membre supprimé 2 (19 Janvier 2002)

tiens, ca fait un petit momnet que je ne suis pas passe par la ;-)

petite astuce:

pour compiler ton main.c

tu peux simplement faire un 

make main

pour le probleme de path, tu peux te faire un repertoire bin dans ton home, et celui la est dans le path standard source par tcsh. (un rehash s'impose)

pour xfig, il existe une verion java (jfig) qui fait exactement pareil, elle ouvre les .fig, exporte en eps, etc...
mais je trouve (decouvrete de la semaine) OmniGraff tres puissant, et il exporte aussi en eps, pdf, etc... donc ideal pour latex et pdflatex.

enfin, compiler xfig demande d'installer un serveur x dans un premier temps.

Bonne chance ;-)


----------



## Nathalex (19 Janvier 2002)

Salut,

Par serveur X, tu entends un truc genre xfree ? Parce que je l'ai aussi téléchargé et c'était aussi prévu au programme.
Mais du coup, je vais peut-être essayer Omnigraffe : ce serait quand même vachement plus simple


----------



## Membre supprimé 2 (19 Janvier 2002)

oui, xfree par exemple.
mais la c'est pas la peine de compiler, les binaires sont disponibles, et meme un .pkg qui s'installe en un click.

utilises tu TexShop?


----------



## Nathalex (19 Janvier 2002)

Oui, j'utilise TexShop avec pas mal de satisfaction d'ailleurs !
J'ai téléchargé Omnigraffe, je vais faire quelques tests. Est-ce qu'on peut inclure du texte en Latex dans les figures (je crois que c'est possible dans Xfig) ?


----------



## Membre supprimé 2 (19 Janvier 2002)

non, je ne pense pas.
il n'y a plus qu'a ecrire un plugin ;-)


----------

