Quelques
fiches d'aide à la compilation |
Annonces
d'époque |
Compilation de pan |
dillo |
erwin |
freeciv |
gmtlocaltime |
gqview |
lesstiff |
sylpheed |
WebMin |
wmCalClock |
xboard |
Xmahjongg |
xv |
knews |
Compilation de
pan |
**Prérequis : 5 bibliothèques sont requises. Elles sont installables via fink : % fink install gnome-libs % fink install gtk+ % fink install libxml % fink install gdk-pixbuf % fink install gtk2 **Quelques modifications à faire dans des headers systèmes S'assurer que TextEdit est fermé. (Nous allons en effet l'ouvrir avec les droits administrateurs) % sudo open -a TextEdit /sw/include/glib.h Aller à la ligne #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define g_error et remplacer #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L par #if(0) Aller à la ligne #elif defined (__GNUC__)g #define g_error et remplacer #elif defined (__GNUC__) par #elif(0) Enregistrer et fermer. (cela permet d'utiliser la définition de g_error, g_warning et g_message en tant que fonctions inline et non en tant que macros car le compilateur plante lorsqu'on utilise ces macros) ** Installation: % curl -L -s -S -O http://pan.rebelbase.com/download/releases/0.11.3/pan-0.11.3.tar.bz2 % bunzip2 pan-0.11.3.tar.bz2 % tar -xf pan-0.11.3.tar % cd pan-0.11.3 % ./configure --prefix="/sw" % sed 's:GLIB_LIBS = -L/sw/lib -lgthread -lglib - lpthread:GLIB_LIBS = -L/sw/lib -lgthread -lglib-lpthread -lintl:g' pan/Makefile > pan/Makefile.modif % mv pan/Makefile.modif pan/Makefile % sed 's:GLIB_LIBS = -L/sw/lib -lgthread -lglib -lpthread:GLIB_LIBS = -L/sw/lib -lgthread -lglib -lpthread -lintl:g' tests/Makefile > tests/Makefile.modif % mv tests/Makefile.modif tests/Makefile % make % sudo make install Avant de lancer Pan, il convient de créer son dossier .pan car il n'est pas capable de le créer tout seul pour une raison inconnue. Il ne se lancera pas si on ne les crée pas. % cd # pour retourner dans le home % mkdir .pan % mkdir .pan/tmp % mkdir .pan/data % mkdir .pan/data/cache % mkdir .pan/data/folders Pan est multiserveur, on donne un nom à chaque serveur. Il stocke ensuite toutes les données dans un dossier qui porte le nom du serveur. Si vous gardez les paramètres par défault et appelez le serveur "Default" : % mkdir .pan/data/Default |
dillo |
retour |
Nom du programme : dillo Version : 0.6.0gd Maintenance : Jorge Arellano Cid jcid@mailtag.com Site : http://dillo.sourceforge.net/ Descriptif : Navigateur graphique, rapide et très léger (200Ko). Ne gère pas encore les frames. Téléchargement : http://prdownloads.sourceforge.net/gnu-darwin/dillo-0.6.0gd.tgz Installation : % mkdir dillo % cd dillo % wget http://prdownloads.sourceforge.net/gnu-darwin/dillo-0.6.0gd.tgz % tar -xzf dillo-0.6.0gd.tgz % sudo mv bin/dillo /sw/bin/dillo % sudo mv etc/dillorc /sw/etc/dillorc % cd.. % rm -r dillo |
retour |
erwin |
Nom du programme : erwin Site : http://www-stud.fht-esslingen.de/erwin/ Actuellement 2 personnes travaillent sur le logiciel Adrian Reber http://lisas.de/~adrian/ David Vogler http://lisas.de/~david/ Descriptif : Simple Editeur html sous GTK+ Une version sous forme de package/installateur existe Prérequis : dlcompat Disponible sous forme de package ici : http://www.osxgnu.org/downloads/dlcompat-10505X.pkg.sit.bin Téléchargements : Pour le package : http://www.osxgnu.org/software/erwin/ Pour le source : http://www-stud.fht-esslingen.de/erwin/erwin-0.3.1.tar.gz Instructions d'installation : Aucune difficulté. Double-cliquer sur erwn-0.3.1X.pkg Les packages indiquées ci-dessus a été créé par Chris Roberts chris@osxgnu.org Ils figurent sur l'excellent site : http://www.osxgnu.org |
retour |
FreeCiv |
Nom du programme : FreeCiv Site : http://www.freeciv.org Descriptif : Il s'agit d'un jeu inspiré par Civilisation II. Il permet de jouer à plusieurs en réseau mais je n'ai pas testé. J'ai réussi à le compiler et le lancer : il faut lancer le serveur dans un terminal puis le client dans un autre, retourner au terminal dans lequel est lancé le serveur et taper "start" : ça fonctionne. En revanche, je n'ai pas vraiment testé n'étant pas joueur de nature. Téléchargements : ftp://ftp.freeciv.org/freeciv/latest/freeciv-cvs-Jun-24.tar.bz2 Instructions d'installation : Il y a deux choses à changer avant de compiler : dans common/log.h : descendre jusqu'à la ligne #ifdef __GNUC__ et la remplacer par #if(0). Faire la même chose dans le fichier /sw/include/glib.h % ./configure % make % sudo make install Screenshots : http://www.freeciv.org/screenshots/1.11.4/ |
retour |
gmtlocaltime |
But de la fiche : Créer une bibliothèque avec les symboles gmtime_r et localtime_r. Ces fonctions ne sont pas présente dans la Libc d'Apple de MacOS X au moment où j'écris ces lignes. Elles sont pourtant nécessaires à certains logiciels comme Pan. Note : Il est possible que l'installation nécessite d'autres libraries que vous n'avez pas mais dont je ne me suis pas rendu compte parce qu'elles étaient déjà présentes sur mon disque dur. Si c'est le cas, n'hésitez pas à me le dire afin que je les ajoute à la fiche. julien.salort@free.fr Prérequis : S'inscrire dans le projet Open Source de Darwin (c'est totalement gratuit et ça n'engage à rien mais c'est indispensable pour compiler Pan car il est nécessaire de faire une petite bibliothèque pour avoir des fonctions qui ne sont pas dans la libc d'Apple) sur http://www.opensource.apple.com Téléchargements : http://www.opensource.apple.com/projects/darwin/1.3/source/apsl/Libc-167.tar.gz Instructions d'installation : Se placer dans le dossier qui contient Libc-167.tar.gz % tar -xzf Libc-167.tar.gz % mkdir MyLibs % mv Libc-167/gen.subproj/ctime.c MyLibs/gmtlocaltime.c On a pris le fichier qui nous intéressait (ctime.c), on peut effacer la Libc % rm Libc-167.tar.gz % rm -r Libc-167 % cd MyLibs % open gmtlocaltime.c Si vous n'avez pas Project Builder, vous pouvez spécifier une application pour ouvrir : open -a TextEdit gmtlocaltime.c Si vous avez Project Builder mais que pour une raison inconnue, il ne s'ouvre pas tout seul, vous pouvez le préciser : open -a "Project Builder" gmtlocaltime.c Descendre jusqu'en bas du fichier et ajouter à la suite les lignes suivantes : struct tm *gmtime_r(const time_t *const timep, struct tm *const tm) { gmtsub(timep, 0L, tm); return tm; } struct tm *localtime_r(const time_t *const timep, struct tm *const tm) { localsub(timep, 0L, tm); return tm; } Maintenant, il convient de supprimer de ce fichier source tous les symboles non statiques autres que nos deux nouvelles fonctions : Cherchez et supprimez : char * tzname[2] = { WILDABBR, WILDABBR }; Puis #ifdef USG_COMPAT time_t timezone = 0; int daylight = 0; #endif /* defined USG_COMPAT */ #ifdef ALTZONE time_t altzone = 0; #endif /* defined ALTZONE */ Puis void tzset() { register const char * name; void tzsetwall(); name = getenv("TZ"); if (name == NULL) { tzsetwall(); return; } lcl_is_set = TRUE; #ifdef ALL_STATE if (lclptr == NULL) { lclptr = (struct state *) malloc(sizeof *lclptr); if (lclptr == NULL) { settzname(); /* all we can do */ return; } } #endif /* defined ALL_STATE */ if (*name == '\0') { /* ** User wants it fast rather than right. */ lclptr->leapcnt = 0; /* so, we're off a little */ lclptr->timecnt = 0; lclptr->ttis[0].tt_gmtoff = 0; lclptr->ttis[0].tt_abbrind = 0; (void) strcpy(lclptr->chars, GMT); } else if (tzload(name, lclptr) != 0) if (name[0] == ':' || tzparse(name, lclptr, FALSE) != 0) (void) gmtload(lclptr); settzname(); } void tzsetwall() { lcl_is_set = TRUE; #ifdef ALL_STATE if (lclptr == NULL) { lclptr = (struct state *) malloc(sizeof *lclptr); if (lclptr == NULL) { settzname(); /* all we can do */ return; } } #endif /* defined ALL_STATE */ if (tzload((char *) NULL, lclptr) != 0) gmtload(lclptr); settzname(); } Puis struct tm * gmtime(timep) const time_t * const timep; { static struct tm tm; gmtsub(timep, 0L, &tm); return &tm; } Puis char * asctime(timeptr) register const struct tm * timeptr; { static const char wday_name[DAYSPERWEEK][3] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; static const char mon_name[MONSPERYEAR][3] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; static char result[26]; (void) sprintf(result, "%.3s %.3s%3d %02.2d:%02.2d:%02.2d %d\n", wday_name[timeptr->tm_wday], mon_name[timeptr->tm_mon], timeptr->tm_mday, timeptr->tm_hour, timeptr->tm_min, timeptr->tm_sec, TM_YEAR_BASE + timeptr->tm_year); return result; } char * ctime(timep) const time_t * const timep; { return asctime(localtime(timep)); } Puis time_t mktime(tmp) struct tm * const tmp; { return time1(tmp, localsub, 0L); } Et enfin struct tm * localtime(timep) const time_t * const timep; { static struct tm tm; localsub(timep, 0L, &tm); return &tm; } Ajouter au début du fichier : extern char *tzname[2]; Enregistrer et fermer le fichier % cc gmtlocaltime.c -c Vous avez maintenant un beau fichier gmtlocaltime.o avec les deux fonctions absentes de la Libc d'Apple. |
retour |
gqview |
Nom du programme : gqview Version : 0.11.0-1 Maintenance : gqview@email.com Site : http://gqview.sourceforge.net/ Descriptif : GQview est un visualiseur d'images disposant de nombreuses fonctionnalités. Installation : % fink install gqview Screenshots : http://gqview.sourceforge.net/view-shot.html gqview-announce : http://lists.sourceforge.net/mailman/listinfo/gqview-announce |
retour |
lesstiff |
Nom du programme : xboard Version : 4.2.3 Developpement : Prérequis : gchess 5.0 http://www.gnu.org/software/chess/chess.html gnuchess 4.0 http://slackwarec.ada.net.tr/source/xap/gnuchess/gnuchess-4.0.pl80.tar.gz http://slackwarec.ada.net.tr/source/xap/gnuchess/ Téléchargement (31 Mo) ftp://ftp.gnu.org/pub/gnu/chess/chess-5.02.tar.gz % ./configure % make % sudo make install Site : http://www.tim-mann.org/xboard.html Descriptif : xboard est une interface graphique pour utiliser gchess. Elle présente un échiquier et accepte les mouvements réalisés à la souris. Possibilité de charger et de sauver les parties au format PNG (Portable Game Notation). Téléchargements : ftp://ftp.gnu.org/gnu/xboard/xboard-4.2.3.tar.gz Instructions d'installation : % sudo cp /usr/libexec/config.* . % ./configure % make % sudo make install |
retour |
sylpheed |
Nom du programme : Sylpheed Version : 0.6.4 Site : http://sylpheed.good-day.net/ Descriptif : Sylpheed est un lecteur de mail GTK+ qui gère les enfilades, indispensable pour les listes de diffusions. Il faut donc au préalable installer GTK+ Note : Il est possible que l'installation nécessite d'autres libraries que vous n'avez pas mais dont je ne me suis pas rendu compte parce qu'elles étaient déjà présentes sur mon disque dur. Si c'est le cas, n'hésitez pas à me le dire afin que je les ajoute à la fiche. jim.fcsm@free.fr Quelques modifications à faire dans des headers systèmes : S'assurer que pico est fermé. (Nous allons en effet l'ouvrir avec les droits administrateurs) sudo pico /sw/include/glib.h Aller à la ligne #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define g_error et remplacer #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L par #if(0) Aller à la ligne #elif defined (__GNUC__) #define g_error et remplacer #elif defined (__GNUC__) par #elif(0) Enregistrer et fermer. Instructions d'installation : Si vous ne possédez pas wget, vous pouvez l'installer avec fink install wget ou utiliser curl. % wget http://sylpheed.good-day.net/sylpheed/sylpheed-0.6.4.tar.bz2 % bunzip2 sylpheed-0.6.4.tar.bz2 % tar -xf sylpheed-0.6.4.tar % cd sylpheed-0.6.4 % ./configure --prefix="/sw" % open src/textview.c Aller à la ligne #define FONT_LOAD(font, s) et ajouter à la ligne précédente static void noop() {} Descendre à la ligne Xstrdup_a(fontstr, s, ); \ et la remplacer par Xstrdup_a(fontstr, s, noop); \ Enregistrer et fermer. open src/compose.c Ajouter au début de fichier static void noop() {} Chercher la ligne Xstrdup_a(fontstr, prefs_common.textfont, ); et la remplacer par Xstrdup_a(fontstr, prefs_common.textfont, noop); Enregistrer et fermer. open src/sourcewindow.c Faire exactement la même chose que pour le fichier src/textview.c Enregistrer et fermer. % make % sudo make install |
retour |
WebMin |
Comment installer WebMin ? Il va falloir tout d'abord transférer le fichier "webmin-0.90.tar.gz" dans le répertoire /usr/local afin d'installer proprement Webmin : % sudo [Là où vous l'avez copié sur votre DD] /usr/local Ensuite, nous allons nous rendre dans le répertoire dans lequel webmin-0.90.tar.gz vient d'être copié : % cd /usr/local Maintenant, nous allons décompresser l'archive afin d'en installer les éléments : % sudo tar -zxvf webmin-0.90.tar.gz Une fois ceci terminé, nous pouvons effacer l'archive : % sudo rm webmin-0.90.tar.gz Maintenant, nous allons lancer le script de configuration de WebMin. Pour cela, il faut d'abord se rendre dans le dossier Webmin : % cd webmin-0.90 Maintenant, nous allons lancer le script : % sudo ./setup.sh Maintenant il suffit de répondre aux questions. Tout d'abord, définir le dossier dans lequel seront rangés les fichiers de configuration de Webmin, par défaut il propose /etc/webmin, il faut retaper ce chemin pour que le script le prenne en compte. Ensuite, définir où seront rangés les fichiers journaux (logs), par défaut, /ver/webmin, une fois encore, il faut taper le chemin. Indiquer où se trouve Perl, le chemin proposé par défaut est le bon, le retaper. Choisir le Système d'exploitation, OS X est proposé, c'est le dernier (40), une fois ce choix effectué, le script demande d'indiquer s'il s'agit d'un 10.0.x ou d'un 10.1, choisir le bon. Maintenant, plus important, le port par défaut sur lequel WebMin répondra quand on lancera une requête HTTP pour l'utiliser. Par défaut le 10000 est proposé, pour des raisons de sécurité, n'hésitez pas à en choisir un autre, exemple : 12500, après avoir vérifié qu'il n'est pas pris. Après, il faut définir un nom d'utilisateur et un mot de passe pour l'administrateur du serveur WebMin (on pourra après créer d'autres utilisateurs avec des droits restreints). Indiquer le Hostname (il reprend celui de /etc/hostconfig mais ça ne fonctionne pas si c'est an AUTOMATIC). L'utilisation de SSL n'est apparement pas gérée sur OSX, pas testé sur OSX Server. Enfin, le lancement au démarrage a foiré sur mon OSX, il cherchait le dossier /Library/StartupItems au lieu de /Systeme/Library/StartupItems, je vais chercher... Une fois ceci effectué, le script vous indique l'adresse sur laquelle vous connecter avec un navigateur Web. L'adresse IP fonctionne très bien si vous n'avez pas de DNS configuré. Maintenant, vous n'avez plus qu'à explorer les fonctionnalités (très étendues) de la chose et configurer ainsi tout un tas de services de votre système. |
retour |
wmCalClock |
Nom du programme : wmCalClock Version : 1.25 Developpement : Mike Henderson mghenderson@lanl.gov Site : http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml/ Descriptif : wmCalClock est une horloge/calendrier avec texte antialisé. Elle peut afficher les heures en mode 12h ou 24 h. Téléchargements : http://nis-www.lanl.gov/~mgh/WindowMaker/wmCalClock-1.25.tar.gz Instructions d'installation : % wget http://nis-www.lanl.gov/~mgh/WindowMaker/wmCalClock-1.25.tar.gz % gunzip wmCalClock-1.25.tar.gz % tar -xvf wmCalClock-1.25.tar % cd wmCalClock-1.25/Src/ % open -e Makefile changer gcc par cc enregistrer % make % sudo make install % cd .. % cd.. % sudo rm -r wmCalClock-1.25 |
retour |
xboard |
Nom du programme : xboard Version : 4.2.3 Prérequis : gchess 5.0 http://www.gnu.org/software/chess/chess.html gnuchess 4.0 http://slackwarec.ada.net.tr/source/xap/gnuchess/gnuchess-4.0.pl80.tar.gz http://slackwarec.ada.net.tr/source/xap/gnuchess/ Téléchargement (31 Mo) : ftp://ftp.gnu.org/pub/gnu/chess/chess-5.02.tar.gz % ./configure % make % sudo make install Site : http://www.tim-mann.org/xboard.html Descriptif : xboard est une interface graphique pour utiliser gchess. Elle présente un échiquier et accepte les mouvements réalisés à la souris. Possibilité de charger et de sauver les parties au format PNG (Portable Game Notation). Téléchargements : ftp://ftp.gnu.org/gnu/xboard/xboard-4.2.3.tar.gz Instructions d'installation : % sudo cp /usr/libexec/config.* . % ./configure % make % sudo make install |
retour |
Xmahjongg |
Nom du programme : Xmahjongg Version : GNU General Public licence 3.0 Développeur : Eddie Kohler, eddietwo@lcs.mit.edu Site : http://www.pdos.lcs.mit.edu/~eddietwo/ Descriptif : Xmahjongg est un jeu de mahjongg utilisant une interface en couleur. Pour plus de confort, il est préférable d'utiliser une résolution d'écran 1024*768. Téléchargements : http://www.lcdf.org/xmahjongg/xmahjongg-3.4.tar.gz Instructions d'installation : % ./configure % make % sudo make install Screenshots : http://www.lcdf.org/~eddietwo/xmahjongg/screenshots.html |
retour |
xv |
Nom du programme : xv Version : 3.10a Developpement : John Bradley http://www.trilon.com/xv/bradley.html Téléchargement : ftp://ftp.cis.upenn.edu/pub/xv/xv-3.10a.tar.gz Instructions d'installation : Ouvrir xv.h remplacer * #include <X11/Xos.h> par #include</usr/X11R6/include/X11/Xos.h> % make % sudo make install |
retour |
knews |
Nom du programme : knews Version : 1.0b1 Développeur : Karl-Johan Johnsson, kjj@matematik.su.se Site : http://www.matematik.su.se/~kjj/knews.html Descriptif : Knews est un lecteur de news online qui affiche les enfilades sous forme graphique comme MacSOUP. C'est d'ailleurs presque mieux que MacSOUP car il affiche le nom des contributeurs dans les cases de l'enfilade graphique. Téléchargements : http://www.matematik.su.se/~kjj/knews-1.0b.1.tar.gz ftp://ftp.xemacs.org/pub/xemacs/aux/compface.tar.gz Instructions d'installation des bibliothèques optionnelles : Il y a trois bibliothèques optionnelles : libjpeg, libpng et libcompface * Pour libjpeg et libpng : % fink install libjpeg % fink install libpng * Pour libcompface Se placer dans le dossier qui contient compface.tar.gz % tar -xzf compface.tar.gz % cd compface % open -a TextEdit Makefile Remplacer les lignes BINDIR = /usr/local/bin LIBDIR = /usr/local/lib INCDIR = /usr/local/include MANDIR = /usr/local/man par BINDIR = /usr/bin LIBDIR = /usr/lib INCDIR = /usr/include MANDIR = /usr/share/man Descendre jusqu'à la ligne CC = gcc et la remplacer par CC = cc % make % sudo make install Curieusement, chez moi, il a fallu faire % sudo ranlib /usr/lib/libcompface.a Instructions d'installation : Se placer dans le dossier qui contient knews-1.0b.1.tar.gz % tar -xzf knews-1.0b.1.tar.gz % cd knews-1.0b.1 % pico knews.tmpl Descendre jusqu'à la ligne /* gcc on devent systems */ Enlever "#if 0" et "#endif" qui encadrent les définitions de CC, CCOPTIONS et CDEBUGFLAGS. A la ligne CC = gcc, changer gcc en cc Enlever "-pedantic -Wall -ansi" car sinon il y aura énormément de warnings Ajouter à la ligne CCOPTIONS -I/sw/include (Il s'agit d'un grand I comme Isabelle) ainsi que -L/sw/lib Ce qui donne : CCOPTIONS = -I/sw/include -L/sw/lib % pico configure.h Enlever les caractères "/*" et "*/" qui encadrent #define MAIL_COMMAND "/usr/sbin/sendmail -t" #define MAIL_COMMAND "/usr/lib/sendmail -t" Descendre jusqu'à /* #define DOMAIN_FILE "/your/file/here" */ /* #define DOMAIN_NAME "your domain here" */ Enlever les caractères "/*" et "*/" qui encadrent la deuxième ligne et remplacer "your domain here" par le nom de domaine de votre adresse email. Exemple : #define DOMAIN_NAME "mac.com" Descendre jusqu'à la ligne #define DEFAULT_EDIT_COMMAND "xterm -e vi +%i %s" et remplacer "vi" par "pico" Descendre jusqu'à la ligne /* #define DEFAULT_NNTPSERVER "your.server" */ Enlever les caractères "/*" et "*/". Remplacer "your.server" par le nom de votre serveur de nouvelles. Exemple : #define DEFAULT_NNTPSERVER "news.wanadoo.fr" Descendre jusqu'aux lignes #define HAVE_JPEG 0 #define HAVE_PNG 0 #define HAVE_COMPFACE 0 Mettre 0 si vous n'avez pas installé la bibliothèque en question et 1 si vous l'avez installée. Sortir avec Control+X et "y" pour sauvegarder. xmkmf % make Makefiles % make clean % make all % sudo su % make install % make install.man |