code source, compiler, utiliser...

PER180H

Membre actif
22 Mars 2004
561
74
46
Grenoble
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!...
 
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+
 
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.
 
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 :D (c'est que mes cours d'info sous Unix avec makefiile c'est assez ancien!)
 
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 ....
 
- 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 ....
 
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.
 
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
 
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 :
Bloc de code:
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 :
Bloc de code:
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
Bloc de code:
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.
wink.gif
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à.
zen.gif


À+
 
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 : :D

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+
 
un mail comme ca bilbo, ca fait tourner la boule a facette...:up:
 
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? ;)
 
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+
 
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 ! :p

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
:siffle:

Y'a du boulot, hein?
 
PER180H a dit:
En voilà une commande qu'elle est bien ;) Le mieux c'est encore killall -9 :D
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+
 
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!
 
Bien...
Quand je fais ./configure dans X11, à partir du répertoire où j'ai les sources, ca me dit no such file or directory ....