# code source, compiler, utiliser...



## PER180H (29 Mai 2004)

N'hésitez pas à me rediriger vers des sites ou sujets existants... Je n'y connais rien.

Je voudrais utiliser des programmes Open-Source, Licence GPL ou je ne sais quoi, sur mon Mac. Mais je ne sais pas faire. Par exemple quand j'ai le code source d'un programme, comment faire pour le compiler, l'exécuter? 

Dans un cas précis, je voudrais faire tourner ce programme, disponible sur ce site : http://xtsl.free.fr/
C'est un simulateur de poste de régulation ferroviaire.Il est disponible sous les plateformes Windows, Linux et Freebsd.. est-ce que c'est possible? Si oui, comment faire? J'ai télécharger les codes sources, mais après je sais pas comment m'y prendre. 

Merci!...


----------



## kabutop (31 Mai 2004)

Hello,
En général, toutes les sources se compilent de cette facon :
Dans le répertoire généré après décompression des sources, dans le terminal :
./configure (pour générer le Makefile. Tu peux faire ./configure --help pour voir les options qu'il est possible d'activer.)
make (hop tu compiles)
make install (hop tu installes. Si tu as mis --prefix=/usr/local après ton configure, ca sera installé dans /usr/local.)

Pour compiler il te faudra les outils de dev apple (il me semble) et X11 pour lancer ton soft.

A+


----------



## chup (31 Mai 2004)

kabutop a dit:
			
		

> Pour compiler il te faudra les outils de dev apple (il me semble) et X11 pour lancer ton soft.
> 
> A+



Encore faut-il savoir où télécharger les outils de développement d'Apple.
J'ai cherché sur le site d'Apple, mais je n'ai rien trouvé.

Florian.


----------



## PER180H (1 Juin 2004)

On les trouve où les outils de développement Apple? Ils sont livrés avec l'OS et il faut les installer?
X11? j'ai déjà, car j'ai installé OpenOffice

En fait, est-ce qu'il y aurait un endroit (site web, forum) où c'est expliqué assez en détail  (c'est que mes cours d'info sous Unix avec makefiile c'est assez ancien!)


----------



## kabutop (2 Juin 2004)

Il me semble que les outils de dev sont sur les CD d'origine de Panther... Qqun peut confirmer ?


----------



## bertrand.serullaz (2 Juin 2004)

Je confirme ils sont présents sur les CD d'install de Panther. Je me souviens que pour les trouver j'ai du ouvrir un peu tout les packages sur les CD avant de le trouver. Je part à la recherhce du post sur le sujet ....


----------



## bertrand.serullaz (2 Juin 2004)

- localisation des Developper Tools : ils sont en attribut caché d'un des CD, je te conseille d'aller en ligne de commande du terminal :

> cd /volumes
tu recopies le .dmg sur ton disque avec un "cp", puis tu le lances depuis Aqua.

Sinon tu peux télécharger, mais ADSL obligatoire...
D'une manière générale beaucoup d'outils sont à dispo sur les CD d'installation d'installation ( curl, vi , ppico, emacs ..)

Attention comme d'ab au path dans ton profil etc ....


----------



## chup (6 Juin 2004)

Intéressant ce que tu dis là, Bertrand. J'avais pourtant cherché sur le CD, je ne les avais pas trouvés. Alors j'ai téléchargé les XTools sur le site d'Apple Developer (650MB quand même), sans être vraiment sûr que tout se trouve dedans.
Je ne l'ai pas gravé, car j'ai rendu mon PB 12", je verrai ça plus tard 

Florian.


----------



## bertrand.serullaz (8 Juin 2004)

chup a dit:
			
		

> j'ai rendu mon PB 12"


Ca ne se rend pas un PB , c'est comme sa conscience on la garde pour soi


----------



## iManu (9 Juin 2004)

On peut aussi télécharger les outils de développement sur le site Apple, voir http://developer.apple.com/fr/
Simplement, il faut s'enregistrer (c'est gratuit) et si t'as pas une bonne connexion réseau c'est lent...
Oublies pas X11 SDK (X11 client ne suffit pas). Ceci dit, si t'as OpenOffice, je pense que c'est installé...
Bon courrage 

iManu


----------



## Bilbo (10 Juin 2004)

Tant qu'à faire, voici ma méthode de travail quand je compile.

J'ai un dossier « Developpement » quelque part, pour la suite, on va considérer qu'il est dans mon dossier « Maison » (~/Developpement/). Ensuite, je crée un dossier destiné à contenir mes scripts de configuration, à savoir : ~/Developpement/configure-scripts. J'y crée un modèle qui va me servir pour tous les projets qui ne méritent pas d'options spéciales. Je l'ai appelé « baseconfig ». Pour le créer, jetez un ½il ici. Si on décide d'utiliser le Terminal et Emacs, ça donne :
mkdir -p ~/Developpement/configure-scripts
chmod 700 ~/Developpement/
cd ~/Developpement/configure-scripts
emacs baseconfig
On y met :
	
	



```
cat ./myconfig
./configure --prefix=/mysw --sysconfdir=/etc --with-includes=/sw/include --with-libraries=/sw/lib
```
Le --with-includes=/sw/include --with-libraries=/sw/lib est pour ceux qui ont installé Fink. Pour quitter Emacs ctrl-X ctrl-S puis ctrl-X ctrl-C. Ensuite il faut rendre le script exécutable.
chmod +x baseconfig

Imaginons que je veuille compiler Lynx à partir de l'archive compressée en « bz2 ». Ça donne :
cd ~/Developpement/ - on va dans le dossier « Developpement ».
mkdir lynx - création du dossier.
cd lynx - on va dans le dossier « lynx ».
curl -O http://lynx.isc.org/release/lynx2.8.5.tar.bz2 - téléchargement.
bunzip2 -c lynx2.8.5.tar.bz2 | tar xvf - - extraction des sources.
cd lynx2-8-5 - on va dans le dossier des sources.
ln -s ../../configure-scripts/baseconfig myconfig - création d'un lien symbolique nommé « myconfig ».
./myconfig - équivalent de ./configure mais avec mes options.
make - compilation.
su - on passe en root.
Passwd: - mot de passe de root (pour l'activer, voir ici).
make install - installation proprement dite.
exit - on sort de root.

Une fois installé, il n'y a plus lieu de garder les sources, l'archive téléchargée suffit.
cd .. - on remonte dans le dossier « lynx ».
rm -rf lynx2-8-5/ - on efface les sources et le résultat de la compilation.

Autre exemple, compilation de GnuPG à partir de l'archive compressée en « gz ». Comme il y a des options supplémentaires à mettre, on commence par préparer le script de configuration.
cd ~/Developpement/configure-scripts
cp baseconfig gnupg
emacs gnupg
On y met : 
	
	



```
cat ./myconfig
./configure --prefix=/mysw --sysconfdir=/etc --with-includes=/sw/include --with-libraries=/sw/lib --disable-asm --with-libiconv-prefix=/mysw
```
Pour quitter Emacs ctrl-X ctrl-S puis ctrl-X ctrl-C. Ensuite :
cd ~/Developpement/ - on va dans le dossier « Developpement ».
mkdir gnupg - création du dossier.
cd gnupg - on va dans le dossier « gnupg ».
curl -O ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.2.4.tar.gz - téléchargement.
tar xvzf gnupg-1.2.4.tar.gz - extraction des sources.
cd gnupg-1.2.4 - on va dans le dossier des sources.
ln -s ../../configure-scripts/gnupg myconfig - création d'un lien symbolique nommé « myconfig ».
./myconfig - équivalent de ./configure mais avec mes options.
make - compilation.
su - on passe en root.
Passwd: - mot de passe de root.
make install - installation proprement dite.
exit - on sort de root.
Évidemment, on revire les sources.

Quelques explications sur les options de base.
--prefix=/mysw Tous mes projets sont installés dans un dossier nommé « /mysw ». Ça permet de garder les originaux du système sans le polluer. Mais il faut alors mettre les bons dossiers dans le « PATH » pour que le mac puisse trouver les nouvelles commandes. À ne faire qu'une fois :
su - on passe en root.
Passwd: - mot de passe de root.
emacs /etc/profile - on édite le fichier /etc/profile et on remplace la ligne PATH par 
	
	



```
PATH="/mysw/sbin:/mysw/bin:/sw/sbin:/sw/bin:/bin:/sbin:/usr/bin:/usr/sbin"
```
On quitte Emacs comme d'habitude, puis on quitte le Terminal et on le relance.
--sysconfdir=/etc Ça c'est plus contestable. 
	

	
	
		
		

		
			





 J'aime avoir mes fichiers de config dans /etc. À manier avec précaution si vous compilez des projets qui on une version déjà présente dans Mac OS X. Je ne mets pas les manuels dans /usr/share/man pour cette raison et ManOpen permet d'ajouter des emplacements pour les pages de manuel.

Quant on veut recompiler un projet parce qu'il y a une nouvelle version, il suffit de télécharger les sources, de faire le bon lien « myconfig » et vous êtes sûr de recompiler avec les bonnes options mises patiemment au point auparavant.

Voilà. 
	

	
	
		
		

		
		
	


	




À+


----------



## kabutop (11 Juin 2004)

Y'a un truc pratique aussi, c'est STOW : http://fink.sourceforge.net/pdb/package.php/stow
  Cela permet d'éviter les choses du genre --sysconfdir=/etc.
  Je m'explique : 

  Il suffit d'avoir un /usr/local/stow. Tu compiles ton appli avec un prefix sur /usr/local/stow (./configure --prefix=/usr/local/stow/MONSOFT).
  Un fois compilé, il faut se placer sur /usr/local/stow
  stow -v MONSOFT va en fait creer pour toi des liens (par defaut dans /usr/local) des binaires, libs, man, conf.
  Par ex. /usr/local/bin/mutt sera un lien vers /usr/local/stow/mutt/bin/mutt.
  L'interet est que tout est bien rangé dans /usr/local/stow. Cela devient vite plus facile a gérer.
  stow -vD MONSOFT va supprimer tous les liens. Il suffit ensuite pour désinstaller le soft de faire un rm -fr /usr/local/stow/MONSOFT.
 Pour ceux qui utilisent fink, il est tout a fait possible d'utiliser l'arborecence de fink. Il suffit alors d'indiquer à stow via --target le repertoire d'installation (celui de fink /sw/) ou d'installer le repertoire stow dans /sw/stow (stow prend par défaut le repertoire parent) et d'indiquer au configure le prefix /sw.

  J'espère que j'ai reussi à être clair...
 Le soft est super pratique pour ceux qui compilent et qui ne veulent pas en mettre partout 

  A+


----------



## bertrand.serullaz (11 Juin 2004)

un mail comme ca bilbo, ca fait tourner la boule a facette...


----------



## Bilbo (11 Juin 2004)

kabutop a dit:
			
		

> Y'a un truc pratique aussi, c'est STOW :



Faut que je teste ça ! 

À+


----------



## PER180H (14 Juin 2004)

bertrand.serullaz a dit:
			
		

> - localisation des Developper Tools : ils sont en attribut caché d'un des CD, je te conseille d'aller en ligne de commande du terminal :
> 
> > cd /volumes
> tu recopies le .dmg sur ton disque avec un "cp", puis tu le lances depuis Aqua.


Mais j'arrrive pas à aller sur le CD depuis le terminal. En DOS c'est facile, on fait "C:" ou "D:", mais en Unix, c'est quoi la commande?


----------



## kabutop (14 Juin 2004)

C'est comme le monsieur te dit :
cd /Volumes

Si le CD ( CompactDisk ici  ) s'appelle "TOTO" , il faudra taper :
cd /Volumes/TOTO

cd : changer de répertoire
ls : lister le contenu (ls -l pour un affichage plus détaillé).

Sinon pour installer les DevTools, il faut mettre le CD de restauration n°1, installer l'outil de restauration...
Une fois installé tu le lances, puis tu pourras rajouter les outils de dev, ou les jeux etc...

A+


----------



## PER180H (14 Juin 2004)

kabutop a dit:
			
		

> C'est comme le monsieur te dit :
> cd /Volumes


Ah voui! j'avais pas remarqué que dans le répertoire Volume, il y avait le nom des disques! 



> cd : changer de répertoire
> ls : lister le contenu (ls -l pour un affichage plus détaillé).


Ce sont les rares choses dont je me souvienne de mes cours Unix. Avec mail, talk, vi, et kill -9 ! 



> Sinon pour installer les DevTools, il faut mettre le CD de restauration n°1, installer l'outil de restauration...
> Une fois installé tu le lances, puis tu pourras rajouter les outils de dev, ou les jeux etc...


En faisant comme le monsieur m'a dit, je ne trouve pas de dmg à copier. Je trouuve pas où sont ces outils. Ce que tu me suggères, c'est d'installler l'outli de restauration. Mais sur mon CD 1, je n'ai que "Installer applications et gestion classic". C'est ça? J'ai essayé et ca me propose une mise à jour


Y'a du boulot, hein?


----------



## kabutop (14 Juin 2004)

PER180H a dit:
			
		

> kill -9 !


 En voilà une commande qu'elle est bien  Le mieux c'est encore killall -9 
 Teste dans le terminal avec ls -al en cas que le repertoire commence avec un ".".

 Sinon par le CD, je sais plus comment j'ai fais, mais il me semble qu'en mettant le CD de restauration n°1, quand tu vas dessus via le finder, il y a un package installable pour installer les softs manquants.
 J'avais demandé sur le forums y'a qq temps : http://forums.macg.co/vbulletin/showthread.php?t=55687

 A+


----------



## PER180H (14 Juin 2004)

Ca y est! je les ai trouvés!
EN fait il faut installer le "Installer applications et gestion classic" qui lance ensuite un truc qui permet de restaurer jeux, appli et cie, et les outils de développement.
Là je suis en train d'installer les outils de développement. Je me souviens de ce truc, je l'avais ce dossier "developpers tools", mais j'avais jamais installé, car c'était gourmand en place (1.5Go) alors que j'en avais pas l'utilité. Et je l'avais mis à la corbeille.

Bon ben ensuite je vais pouvoir passer aux étapes suivantes! 

Merci bien en tous cas!


----------



## PER180H (14 Juin 2004)

Bien...
Quand je fais ./configure dans X11, à partir du répertoire où j'ai les sources, ca me dit no such file or directory ....


----------



## kabutop (14 Juin 2004)

Oui 
Je viens de regarder ton soft... Y'a pas de fichier configure donc c'est normal.
En fait il faut taper make puis make install.
Mais il faut les libs GTK qui ne sont pas installées par défaut.
Bref, c'est pas gagné 

A+


----------



## PER180H (15 Juin 2004)

Il faut mieux que j'abandonne ou que je persévère? 

Où peut-on trouver ces librairies GTK? (ca veut dire "G Tout Kompris" ?  )


----------



## PER180H (15 Juin 2004)

Il faut mieux que j'abandonne ou que je persévère? 

Où peut-on trouver ces librairies GTK? (ca veut dire "G Tout Kompris" ?  )


----------



## kabutop (15 Juin 2004)

PER180H a dit:
			
		

> Il faut mieux que j'abandonne ou que je persévère?


 Héhé, ca c'est toi qui décide.
 Pour te mettre sur la piste :
 Tu installes FINK. Tu compiles gtk2 et ses dépendances ( pour compiler la version beta du soft, il faut ca : gtk+2-dev => Gimp Tool Kit )... et tu retentes une compilation de ton soft 

 A toi de voir.
 A+


----------



## chup (30 Juin 2004)

PER180H a dit:
			
		

> On les trouve où les outils de développement Apple? Ils sont livrés avec l'OS et il faut les installer?
> X11? j'ai déjà, car j'ai installé OpenOffice
> 
> En fait, est-ce qu'il y aurait un endroit (site web, forum) où c'est expliqué assez en détail  (c'est que mes cours d'info sous Unix avec makefiile c'est assez ancien!)


C'est tout bête, les archives des outils de développement sont pré-installées par défaut dans /Applications/Installers/Developer Tools. Il suffit juste de les installer !

Florian.


----------

