jeudi 25 juin 2015

Environnement de compilation Windows (Juin 2015)


À partir du 25 juin 2015 nous proposons un nouvel environnement de compilation utilisant les compilateurs GCC.

Ce nouvel environnement remplace "petit-msys-mingw-gimp28" et "petit-msys-mingw-64bits-gimp28" et permet de compiler des binaires pour Windows en 32 bits et en 64 bits.

Il est disponible à partir de ce lien :
http://www.aljacom.com/~gimp/petit-msys2-mingw-32bits-64bits-gimp28.7z
               Volume de l'archive : 597 Mo (626 464 438 octets)
               MD5 :  a20eed4b65c7729671080635f82b4b0b
               Version 1 du 23 juin 2015.

Pour l'installation, il faut :
 - Prévoir un espace disponible d'environ 6 Go sur le disque C:
 - Installer l'environnement sur une version Windows 64 bits.
 - Créer un répertoire temporaire pour les extractions car, en principe, il n'est pas autorisé de décompresser directement en C:\
 - Extraire l'archive "petit-msys2-mingw-32bits-64bits-gimp28.7z" dans ce répertoire temporaire.
 - Glisser le répertoire ( petit-msys2-mingw-32bits-64bits-gimp28 )  en C:\  pour obtenir  C:\petit-msys2-mingw-32bits-64bits-gimp28

Le fichier "Readme_petit-msys2-mingw-32bits-64bits-gimp28.txt" contient quelques informations au sujet de cet environnement.

Les correspondances des répertoires sont dans :
               C:\petit-msys2-mingw-32bits-64bits-gimp28\msys64\etc\fstab

Les paramètres de MSYS sont dans :
               C:\petit-msys2-mingw-32bits-64bits-gimp28\msys64\etc\profile
               C:\petit-msys2-mingw-32bits-64bits-gimp28\msys64\etc\profile_gcc510

Pour compiler des binaires en 32 bits cliquer sur :
               C:\petit-msys2-mingw-32bits-64bits-gimp28\start_MSYS2_GCC492-32bit.bat

Pour compiler des binaires en 64 bits cliquer sur :
               C:\petit-msys2-mingw-32bits-64bits-gimp28\start_MSYS2_GCC492-64bit.bat

Ces fichiers "profile" sont écrasés par l'action des fichiers "start_MSYS2_GCC492-32bit.bat" et "start_MSYS2_GCC492-64bit.bat"  ( profile_gcc510  devient  profile )

Le terminal MSYS est plus moderne que sur les anciennes versions.

Caractéristiques de l'environnement :
 - Basé sur MSYS2 http://sourceforge.net/projects/msys2/
 - Téléchargements des paquets 32 bits et 64 bits via l'utilitaire "pacman" https://wiki.archlinux.org/index.php/pacman
 - GCC 5.1.0 est installé pour compiler les binaires en 64 bits.

Modifications apportées :
 - GCC 5.1.0 (64 bits)
 - jpeg-9a (32 bits et 64 bits)
 - libpng-1.6.17 (32 bits et 64 bits)
 - tiff-4.0.4beta (32 bits et 64 bits)
 - babl-0.1.13 (32 bits et 64 bits)
 - libiconv-1.14 (32 bits et 64 bits)
 - glib-2.45.2 (32 bits et 64 bits)
 - exiv2-0.25 (64 bits)
 - gegl-0.2.1 (32 bits et 64 bits)
 - gimp-2.8.15 (32 bits et 64 bits)
 - gegl-0.3.1 (32 bits et 64 bits)


Compiler un plug-in GIMP ( exemple avec vignetting.c ) :

 - Binaires en 32 bits
Clic sur  C:\petit-msys2-mingw-32bits-64bits-gimp28\start_MSYS2_GCC492-32bit.bat
Dans la fenêtre du terminal faire :
               cd /env
               gimptool-2.0 --build /env/vignetting.c

 - Binaires en 64 bits
Clic sur  C:\petit-msys2-mingw-32bits-64bits-gimp28\start_MSYS2_GCC492-64bit.bat
Dans la fenêtre du terminal faire :
                cd /env
                gimptool-2.0 --build /env/vignetting.c


GMIC :

 - Modifier CImg.h pour OpenCV
#include
#include
#include
#include
remplace :
#include
#include "cv.h"
#include "highgui.h"

 - Modifier gmic.cpp pour assurer la compatibilité avec nos versions Gimp Portable
if (!_path_rc) _path_rc = getenv("GMIC_PATH");
if (!_path_rc) _path_rc = getenv("GMIC_GIMP_PATH");
remplace :
if (!_path_rc) _path_rc = getenv("GMIC_PATH");

 - Binaires en 32 bits
Clic sur  C:\petit-msys2-mingw-32bits-64bits-gimp28\start_MSYS2_GCC492-32bit.bat
Dans la fenêtre du terminal faire :
                cd /env
                ./compile_gmic_and_gmic-gimp_plugin_32_win_OPENCV.sh
Attendre.

 - Binaires en 64 bits
Clic sur  C:\petit-msys2-mingw-32bits-64bits-gimp28\start_MSYS2_GCC492-64bit.bat
Dans la fenêtre du terminal faire :
                cd /env
                ./compile_gmic_and_gmic-gimp_plugin_64_win_OPENCV.sh
Attendre.

Une version GMIC 1.6.5.0 stable compilée avec cet environnement est disponible sur :
http://www.aljacom.com/~gmic/gmic-1650-full-win-32bits-64bits-20150623.7z
               Volume : 22,4 Mo (23 554 542 octets)


10 commentaires:

  1. Why bother? Use MSYS2 itself and makepkg-mingw instead.

    RépondreSupprimer
  2. Why bother? Use MSYS2 itself and makepkg-mingw instead.

    RépondreSupprimer
    Réponses
    1. Bonjour,

      MSYS2 has some problems and is not updated for what I do.
      Thank you :o)


      MSYS2 a quelques problèmes et n'est pas à jour pour ce que je fais.
      Merci :o)

      Supprimer
    2. Ce commentaire a été supprimé par l'auteur.

      Supprimer
  3. Ok, what are the problems and what needs to be updated? We'll do this for you, or else you can do it and make a pull request on Github ( https://github.com/Alexpux/MINGW-packages ); that way everyone benefits!

    Merci beaucoup ;-)

    RépondreSupprimer
    Réponses
    1. We are also happy, as a project, to hand over the maintainer role of specific PKGBUILDs/packages to those with better knowledge of those projects, if you were interested in that approach?

      Supprimer
    2. Bonjour,

      I can make packages compiled around G'MIC and Gimp if that can interest you.
      An "important" problem in 32-bit: /mingw32/bin/libfftw3-3.dll does not work and I replaced it.

      Je veux bien faire des paquets compilés autour de Gimp et G'MIC si cela peut vous convenir.
      Un "problème important" en 32 bits : /mingw32/bin/libfftw3-3.dll ne fonctionne pas et je l'ai remplacé.

      Thank you :o)

      Supprimer
    3. Yes, packages around G'MIC and Gimp would be very interesting for us. Can you explain what is wrong with /mingw32/bin/libfftw3-3.dll?

      Many thanks.

      Supprimer
  4. Épatant ! c'était là depuis presque un mois et je ne l'avais pas vu…
    Cette fois encore, ça marche du premier coup, en 32 et en 64 bits. Merci !

    RépondreSupprimer
  5. (suite) J'apprécie aussi la console plus "moderne" ; en tout cas l'historique et le copier-coller fonctionnent comme avec Linux.

    RépondreSupprimer