jeudi 30 juillet 2009

Compiler GPUtils pour votre mac

Aujourd'hui je vais me pencher sur la compilation de GPUtils. C'est un compilateur (incluant d'autres outils pour la compilation) pour programme assembleur destiné aux micro-contrôleurs dont ceux de Microchip.

Nous allons utiliser notre dossier SourceCache comme à l'accoutumée. Voici les étapes :

Pour ceux qui n'ont pas le dossier SourceCache :
1) ouvrir le terminal
2) mkdir /SourceCache

Pour tous :
3) cd /SourceCache
4) mkdir gputils
5) svn co https://gputils.svn.sourceforge.net/svnroot/gputils/trunk gputils
6) cd gputils/gputils/
7) ./configure
8) make
9) sudo make install

Par défaut il est installé dans : /usr/local/ (bin pour les binaires, share/gputils, share/man/fr/ et share/man/man1).

Et voilà, c'est compilé. Les grands amis de ce compilateur sont : SDCC, le compilateur C pour micro-contrôleur et PK2CM, l'outil permettant la programmation des micro-contrôleurs.

Je me permets de vous présenter le programme qui utilise tous ces outils avec une interface graphique : Mactronique IDE.

lundi 27 juillet 2009

Mettre à jour la librairie JPEG pour GD

Ce qui nous intéresse aujourd'hui est la mise à jour ou la première installation de la librairie JPEG sur Mac Os X Server. Cette librairie est utilisé par l'extension GD de PHP5. L'environnement doit être (le même que pour le premier tutoriel) :
- Mac Os X Léopard 10.5.3 (ou plus) et Mac OS X Léopard Server (10.5.3 ou plus)
- Xcode 3.x
- X11
- X11 SDK
- Apache 2
- PHP 5


Mac Os X ne dispose pas en natif de la librairie JPEG. Il faut donc commencer par la compiler et l'installer. Pour ce faire :
1) Ouvrez le terminal
2) tapez les commandes suivantes (sans le $):
$ mkdir -p /SourceCache
$ cd /SourceCache
$ curl -O http://www.ijg.org/files/jpegsrc.v7.tar.gz

Note : La première commande n'est obligatoire que si vous n'avez pas effectué mon premier tutoriel sur la compilation de l'extension GD pour PHP5.

Note 2 : La dernière commande permet de télécharger le fichier et l'enregistrer dans le dossier SourceCache qui se trouve à la racine du disque dur. Il est possible de télécharger l'archive par le navigateur. Enregistrez l'archive dans le dossier SourceCache qui est à la racine du disque dur. Puis décompressez le !


3) Nous allons maintenant décompressez l'archive si vous ne l'avez pas déjà fait :
$ tar xzpf jpegsrc.v7.tar.gz

4) Nous allons rentrez dans le dossier puis préparer la compilation de la librairie :
$ cd /SourceCache/jpeg-7
$ cp /usr/share/libtool/config.sub .
$ cp /usr/share/libtool/config.guess .

Les deux dernières commandes permettent de copier des fichiers dans le dossier en cours. Il faut bien mettre la commande complète avec le "." (point).

Maintenant les choses se complique un peu ! Il va falloir connaitre l'architecture de votre Mac. Pour cela allez dans le menu pomme puis "A propos de ce Mac".

Si en face de processeur vous avez :
- PowerPC G3 (très rare)
- PowerPC G4
- Core Duo
Et bien votre ordinateur a une architecture 32 bits !

Si vous avez :
- PowerPC G5
- Core 2 Duo
- Xeon
Et bien votre ordinateur a une architecture 64 bits !






5) Maintenant que vous connaissez votre architecture choisissez la commande pour préparer la compilation selon votre cas :

Architecture 32 bits :
$ ./configure --enable-shared

Architecture 64 bits :
$ MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure --enable-shared
Attention : tout doit être sur la même ligne !

6) La compilation :
$ make

7) Préparation à l'installation (uniquement pour la première installation) :
$ sudo mkdir -p /usr/local/include
$ sudo mkdir -p /usr/local/bin
$ sudo mkdir -p /usr/local/lib
$ sudo mkdir -p /usr/local/man/man1

Note : lors de la première utilisation de "sudo" il vous demandera votre mot de passe tapez-le. Vous avez droit à 3 essais avant que cela annule la commande ! Rien ne s'affiche lors de la saisie du mot de passe et c'est normal !

8) Installation :
$ sudo make install

Et voilà, vous venez d'installer pour la première fois ou mettre à jour votre librairie. Comme d'habitude, vos réactions sont les biens venues !

mercredi 17 juin 2009

Données intéressantes

Aujourd'hui je vous propose quelques données intéressantes provenant d'un Mac Pro sous Mac Os X Léopard Server.
Avec un uptime (temp de fonctionnement) d'un peu plus de 104 jours, le serveur a délivré sur le réseau plus d'un tera octets de données.
Les chiffres sur la lecture et écriture sur les disques durs est aussi impressionnant.

Voici les image écran :

Les disques durs :

Le réseau :

Il est a noter que ce serveur n'est qu'un serveur web.

lundi 8 juin 2009

Podcast sur Cocoa en français !

Voici le liens vers un podcast parlant de Cocoa en Français !

C'est par la :
http://www.cocoacast.com/?q=blog/189

Connexion sécurisé à un serveur via VNC

Voici la procédure vraiment très simple pour créer un tunnel SSH et établir une connexion sécurisé avec un serveur avec VNC. Les administrateurs réseau seront d'apprendre que cela fonctionne sur Linux et Mac OS X. Pour ma part, je me connecter à un serveur Mac avec un Mac !

1) Ouvrez le terminal.
2) Tappez : ssh -p port_public_sur_serveur -L port_local:localhost:port_de_l_hote_pour_le_tunel user@DNS_name_ou_IP

voici un exemple concret : je me connecte sur le port standard ssh : ssp -p 22 -L 55900:locahlost:5900 moi@monserver.dyndns.net
Cette comande aura pour effet que lors d'une connexion au serveur VNC via l'adresse vnc://localhost:59000 tout le trafic arrivant sur se port sera redirigé vers le port 5900 du serveur distant via le tunel SSH.

3) pour s'y connecter entre l'adresse localhost:59000 dans votre client VNC.

Sur Windows, il est possible de créer des tunel via l'utilitaire Putty. Il est gratuit et facilement trouvable sur internet !

Cette opération est faisable pour tout les protocoles ! Attention toute fois aux protocole qui utilise plusieurs port tel le FTP.
Comme d'habitude, je serai ravi de lire vos commentaires sur cette petite astuce !