MSYS, le petit shell qui monte.
Par Jean-Seb le dimanche 23 septembre 2007, 10:00 - Tools - Lien permanent
Le shell, le shell... je suis sous Windows, moi, môssieur! Alors
j'utilise quoi ? Powershell ?!
Herrrrm.. soyons sérieux. Aujourd'hui, je vais vous parler de
MSYS, un shell complet pour Windows.
MSYS et MinGW ?
- En résumé
MSYS fait partie du projet MinGW.
MinGW signifie Minimal Gnu for Windows.
MinGW est un environnement Unix pour les systèmes MS-Windows. Cet environnement contient notamment un shell, nommé MSYS
L'environnement de programmation (en option) est complet. Il contient entre autres les compilateurs GNU (GCC, G++ etc..), un debugger (GDB) et un éditeur (Vim 5.8 pour l'instant).
- MSYS a été développé pour servir de support aux outils de développement MinGW.
- MSYS peut très bien être utilisé comme un
simple
shell, sans obligation d'installer tous les tools MinGW.
- On peut trouver une courte présentation, les binaires et les sources ici:
Installation de MSYS
- MSYS est un peu pénible à l'installation. Il convient de porter attention aux répertoires d'installation.
- MSYS (par défaut, mis dans "c:\msys\" ) : lancer l'archive MSYS-1.0.10.exe (un répertoire c:\msys\mingw est créé, vide pour l'instant)
- Installer mingw-runtime-3.11.tar.gz
Il faudra le placer dans <prefix-msys>\mingw
Ex: c:\msys\mingw
- Vérification des points de montage
Pour voir vos partitions, MSYS utilise comme un vrai Unix des points de montage. Normalement, tout est automatique.
Pour tester l'accès à vos partitions, utilisez le nom de celles-ci comme préfixe.
ls /c : liste la racine de la partition ''c:\''
cd /d/coding : vous place dans coding, situé sur
la partition ''d:\''
En cas de problème d'accès aux tools MSYS, vérifiez que le point de montage pour mingw est correct dans msys/etc/fstab.
$~ cat /c/msys/etc/fstab c:/msys/mingw /mingw
- IMPORTANT si la coloration syntaxique disparait, ou si "ls" ne fait plus que lister le répertoire courant, relancer l'installation de "MSYS" et répondre au script post-install.
- Le shell est installé. Si vous vouliez juste faire du scripting, vous pouvez en rester là.
Installation des utilitaires associés
- Emplacements
- msysDTK (MSYS developer's toolkit): contient les autotools, openssl, cvs (Il faut l'installer dans le même répertoire que MSYS)
- GCC , G++ vont dans msys/mingw/bin
- Les binutils vont dans msys/mingw/bin
- w32-api va aussi dans le répetoire de base de mingw
- msys-automake, msys-autoconf vont dans /msys (répertoire racine demandé à l'installation).
- A propos de Make
Il est recommandé de récupérer make dans son package dédié, bien que l'installation par défaut le contienne déja. Le package dédié contient une version plus à jour, et sans les bugs de la version intégrée.
Liste des fichiers MinGW
- Fichiers nécessaires pour le shell
- MSYS-1.0.10.exe (l'environnement de base)
- mingw-runtime-3.11.tar.gz
- Environnement de programmation:
- msysDTK-1.0.1.exe (autotools, cvs...)
- binutils-x.tar.gz (contient les binutils: ar, as, ld, dlltool ...)
- gcc-g++-x.tar.gz (compilateur C++)
- gcc-core-x.tar.gz (compilateur C)
- gdb-5.2.1-1 (pas le support ncurses par défaut pour l'interface, dommage)
- mingw32-make-x.tar.gz (package dédié pour make)
- mingw-runtime-3.11.tar.gz (installation conseillée!)
- w32api-3.8.tar.gz (includes windows, contient OpenGL)
- Fichiers supplémentaires (hors MinGW)
- makedepend
Très utile pour vos makefiles, il gère les dépendances avec les includes.
Il fait parti du projet X11/XOrg. On peut le trouver en paquet individuel ici:
Pour le compiler, il faut les includes de XOrg, car il y a deux dépendances dans ses sources.
Ouf.
C'est quand même plus productif que le cliquodrome Microsoft.
Commentaires
Bonjour,
je voudrais ajouter un petit commentaire sur des outils utiles pour travailler avec msys (et msysDTK) :
Sur mon poste de travail j'ai windows xp mais nos serveur sont des vieux systèmes unix solaris avec des BDs informix.
Je programme principalement en java mais pour le développement d'imagerie médicale (DICOM etc) je travaille en c++ (pour utiliser le framework de développement d'application ITK (www.itk.org) qui a été utilisé pour le visible human project et dans le domaine aérospatial français entre autres (le wrapper java y étant assez incomplet))
Sinon je pouvoir consulter de l'informix 4gl et du cobol (berk^^).
** emacs windows 23.1 (avec ftp-angie/tram)
http://ftp.gnu.org/gnu/emacs/window...
ftp://ftp.gnu.org/old-gnu/emacs/win...
personnellement je préfère emacs à vim mais je trouve stérile de dire qu'il lui est supérieur, c'est juste une question de confort et d'habitude personnels (comme le progmode pour le 4gl).
(pour ceux qui aurait un problème avec les raccourcis 'à-la-emacs' et l'absence de mode d'édition par colonnes : http://www.gnu.org/software/emacs/m...)
** CMake
http://www.cmake.org/
Un make file pratique pour utiliser minGW avec eclipse CDT. Le make de mingw ne doit pas être installé si on choisit donc cmake!!!
** Sysinternals suite
http://technet.microsoft.com/en-us/...
un ensemble d'outils style unix mais conçus pour windows (par Mark Russinovich). il y a entre autres : Disk Usage (DU), PsInfo, PsKill, PipeList, PortMon, WhoIs
sysinternals est une boîte qui a été agglomérée par microsoft
** eclipse ganymede (je déconseille gallileo sauf pour faire, tester et déployer très facilement des projets jsp ou éventuellement html (intégrant ou non des applets java))
www.eclipse.org
Un chouette IDE pour le java (les autres IDE valant la peine pour moi sont intelliJ IDEA et NetBean)
Combiné avec un plugin pour utiliser un terminal (comme le bash fourni avec msys), cela évite de devoir lancer un rxvt (pas toujours stable) pour lancer de bêtes commandes de temps en temps
** wget windows
http://users.ugent.be/~bpuype/wget/
J'avoue avoir lâché un peu MSys et me servir le plus souvent de Cygwin, qui propose beaucoup plus d'utilitaires et qui est beaucoup plus facile à maintenir à jour.
Merci pour vos précisions.
(vos propos concernant Eclipse n'engagent bien sûr que vous
Sry pour le spam^^
Mes propos concernant eclipse n'engage effectivement que moi^^ J'ai été fort déçu de la lenteur de gallileo en comparaison de la vitesse de ganymede..
mais c'est en effet assez pratique pour, entre autres, déployer son ptit projet sur son ptit serveur apache par exemple.
La convivialité ou les fonctionnalités utiles d'un programme sont mesurées différemment par chaque utilisateur je pense (ce qui me fait dire que vim n'est pas meilleurs qu'emacs au même titre qu'emacs n'est pas meilleurs que vim:)
Auparavant j'utilisais Cygwin... a long long time ago.. il y a près de 10 ans lol.. parce qu'il permettait de produire/travailler avec du code natif win32 mais dans un environnement linux-like.. j'avoue n'avoir pas réessayé depuis mais qu'à l'époque je me rappelle que cela marchait fort FORT bien:)
(parlant de cygwin, il est intéressant de noter que le bash.exe de msys est celui compilé pour cygwin)
(tiens il est peut-être temps pour moi de réessayer cygwin, j'en ai oublié pourquoi j'avais arrêté de l'utiliser tellement ça fait longtemps (j'ai l'impression que c'était à cause de l'émulation via la dll mais je suis plus certain)^^)