Le petit journal du pr0n: l'esclave des amazones numériques (et de marc dorcel..)
Le petit journal du pr0n
Informations et actualités cinématographiques
Note pour plus tard…
Je viens de m'apercevoir que le design du blog laissait a désirer ... j'ai plein de « pet' » partout et refaire le CSS va être relou...

Bon, je crois qu'un nouveau design me semble très urgent...

(..)
2010
17:10
Note pour plus tard…

Je viens de m’apercevoir que le design du blog laissait a désirer … j’ai plein de « pet’ » partout et refaire le CSS va être relou…

Bon, je crois qu’un nouveau design me semble très urgent…

Categories General
Un commentaire
2010
16:10
GIMP 2.4.7 sous une Ubuntu 10.10 Maverick

Depuis longtemps, je gueulais sur le multi-fenêtrage de GIMP que je trouvais chiant à souhait (en plus des autres problèmes inhérents à GIMP). Je n’en pouvais plus de la non-gestion des groupes des calques, qui est pourtant une option pratiquement de base dans Photoshop. Quand un graphiste m’envoyait un PSD, GIMP se plantait lamentablement sur le z-index des différents calques… En bref, il me fallait la version de développement de GIMP qui résolvait une bonne partie de mes problèmes (pas tous malheureusement).

Mon côté fainéant s’est tourné directement vers une solution « toute prête ». Celle de Matthaeus, alias matthaeus123, qui consistait a insérer son repository dans votre source-list (non, ce n’est pas sexuel)

Autant vous le dire rapidement: Matt boit. Ou alors il se drogue. Tout du moins, il doit faire l’un ou l’autre voire les deux. La version compilée par ses soins est tout simplement inutilisable en production ET en développement (en plus de mettre le bordel dans les librairies déjà installées sur votre système qui vous obligerons soit a réinstaller les packages, soit à linker salement, mais passons).

Au début, on se dit que tout va bien, mais dès qu’on dépasse 1 ou 2 calques, dans 1 ou 2 groupes et on effectue quelques menus opérations mineures (genre la sélection), et bien là, c’est le drame: GIMP devient lent, mais leeeeennnt. D’une lenteur telle que le système ne réagit plus pendant quelques secondes.

On va dire que j’étais assez dégoûté par cette version de GIMP. Ok, c’est une version de développement, mais quand même. Mais dans le doute, je me suis dit « si ca se trouve, ce #%$& a oublié de virer les éléments de développements, genre debug & co…« . J’ai bien fait, c’était exactement cela, mais pour cela, il faudra se remonter les manches et compiler soit-même le GIMP des familles.

Allez, zou, on commence.

Download Dependencies

On prépare un peu le système.

 $ apt-get install intltool $ apt-get install python-dev python-gtkglext1 python-gtk2-dev $ apt-get install libgtk2.0-dev libglib2.0 $ apt-get install automake1.10 $ apt-get install ruby $ apt-get install openexr libpng-dev $ apt-get install libopenexr-dev libopenexr libopenexr6 $ apt-get install libjasper-dev libjasper1 $ apt-get install libgdk-pixbuf2.0-dev libgdk-pixbuf2.0-0 

Download GEGL et BABL

GIMP nécessite les librairies GEGL et BABL

 $ git clone git://git.gnome.org/babl     Initialized empty Git repository in /tmp/toto/babl/.git/    remote: Counting objects: 3692, done.    remote: Compressing objects: 100% (994/994), done.    remote: Total 3692 (delta 2977), reused 3252 (delta 2677)    Receiving objects: 100% (3692/3692), 705.61 KiB | 272 KiB/s, done.    Resolving deltas: 100% (2977/2977), done. 

On lance la configuration pre-compilation:

 $ ./autogen.sh --prefix=/usr/local --enable-mmx --enable-sse \                       --disable-option-checking --disable-libtool-lock \                       --disable-dependency-tracking 

Notez qu’on prépare le paquetage pour une installation future dans /usr/local
A la fin de la configuration, n’ayez pas le geste habituel du « make », nous allons laisser cela à checkinstall. (sans cela, le travail de checkinstall va être hasardeux)

Pour informations, checkinstall est un programme qui se tapera la compilation ET la génération d’un paquetage lié à votre système. Cela évite d’avoir des fichiers qui s’installent partout et sans contrôle du gestionnaire de paquetages.

Même si checkinstall peut-être lancé sans être root, je vous conseille un petit sudo pour éviter toute frayeur, notamment pour la seconde partie. Sans cela, ce dernier trouvera des erreurs mineures, genre des changements de droit impossible et écartera les fichiers sans raison apparente et de façon assez aléatoire.

 $ sudo checkinstall --install=no --pkgname=libbabl --pkgversion=0.1.3                             --pkgrelease=1 --pkggroup=libs -y 

Durant mes premières compilations-tests, j’ai rencontré des problèmes avec checkinstall notamment sur la création des répertoires. Si vous rencontrez une erreur de ce type, n’hésitez pas a les créer à la main et de relancez la procédure.

A la fin, on vérifie le paquetage généré:

 $ dpkg --field ./libbabl_0.1.3-1_i386.deb     Package: libbabl    Priority: extra    Section: libs    Installed-Size: 1852    Maintainer: prae@arsenalgear    Architecture: i386    Version: 0.1.3-1    Depends:    Provides: libbabl    Conflicts:    Replaces:    Description: Package created with checkinstall 1.6.2  $ dpkg --contents ./libabl_0.1.3-1_i386.deb    < < plein de fichier dont notamment les librairies (.so) et les headers (.h) >> 

Validé, on installe le paquetage dans le système:

 $ sudo dpkg -i ./libbabl_0.1.3-1_i386.deb 

On passe à la librairie GEGL (dépendante de la librairie BABL)

 $ git clone git://git.gnome.org/gegl     Initialized empty Git repository in /tmp/toto/gegl/.git/    remote: Counting objects: 33001, done.    remote: Compressing objects: 100% (8245/8245), done.    remote: Total 33001 (delta 26804), reused 30095 (delta 24634)    Receiving objects: 100% (33001/33001), 23.32 MiB | 153 KiB/s, done.    Resolving deltas: 100% (26804/26804), done. 

On définit maintenant l’environnement avant la compilation. Vu que la librairie BABL se trouve dans /usr/local, il se peut que vous n’ayez pas /usr/local/lib dans votre environnement ldconfig.

On passe directement en root pour préparer l’environnement pour checkinstall qui arrivera plus tard (rappel: on peut le faire aussi en utilisateur normal, mais assumez les problèmes de checkinstall après coup)

 $ sudo -s # export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib/" # ./autogen.sh --prefix=/tmp/gegl --enable-mmx --enable-sse --disable-glibtest \                       --disable-option-checking --disable-libtool-lock \                       --disable-dependency-tracking     [...]    Building GEGL with prefix=/tmp/gegl    Optional features:       GEGL docs:       yes       Build workshop:  no       Build website:   no  (asciidoc not found)       SIMD:            sse:yes mmx:yes       Multi threading:    Optional dependencies:       asciidoc:        no  (asciidoc not found)       enscript:        no  (enscript not found)       GIO:             yes       GTK+:            yes       Ruby:            yes       Lua:             no  (usable lua not found)       Cairo:           yes       Pango:           yes       pangocairo:      yes       GDKPixbuf:       yes       JPEG:            yes       PNG:             yes       OpenEXR:         yes       rsvg:            no  (usable librsvg not found)       SDL:             no  (SDL library not found)       openraw:         no  (openraw library not found)       Jasper:          yes       graphviz:        yes       avformat:        yes       V4L:             yes       spiro:           no  (usable SPIRO library not found)       EXIV:            no  (exiv2 library not found)       umfpack:         no  (usable umfpack library not found) 

Vérifiez les formats supportés. Si certains formats vous inspirent mais en « no », installez les librairies adéquates.

 # checkinstall --install=no --pkgname=libgegl --pkgversion=0.1.3 \                     --pkgrelease=1 --pkggroup=libs -y 

Si la compilation de GEGL plante à cause de la librairie BABL non trouvé, vous avez surement oublié de modifier votre LD_LIBRARY_PATH correctement.

Si vous en êtes sûr et certain, vérifiez que vous n’avez pas modifié la variable LD_LIBRARY_PATH en tant qu’utilisateur, puis avoir lancé checkinstall en « sudo ». Si c’est le cas, un petit sudo avant, redéfinition de LD_LIBRARY_PATH, et dans la même session root, relancer checkinstall

Sinon, vérifiez bien le chemin qui mêne vers votre librairie BABL (avez-vous installé le package ? ;-)

Compilation de GIMP 2.4.7

Vous avez soit le choix du dépositaire de source, soit directement le tarball 2.4.7.

- Version Source Tarball :

$ wget ftp://ftp.gimp.org/pub/gimp/v2.7/gimp-2.7.1.tar.bz2
$ bunzip gimp-2.7.1.tar.bz2
$ tar -xvf gimp-2.7.tar
$ ./configure --prefix=/usr/local/gimp-2.7/ --enable-binreloc-threads --enable-mmx --enable-sse 

- Version GIT :

$ git clone git://git.gnome.org/gimp )
$ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib/"
$ ./autogen.sh --prefix=/usr/local/gimp-2.7-201110/ --enable-mmx --enable-sse --disable-glibtest --disable-option-checking --disable-libtool-lock  --disable-dependency-tracking --enable-binreloc-threads --enable-mmx --enable-sse --disable-gtk-doc
$ ./configure 

   [...]   Extra Binaries:     gimp-console:        yes     gimp-remote:         no (not enabled)   Optional Features:     D-Bus service:       no     Language selection:  yes   Optional Plug-Ins:     Ascii Art:           no (AA library not found)     Help Browser:        no (WebKit not found)     LCMS:                no (lcms not found or unusable)     JPEG:                yes     JPEG 2000:           yes     MNG:                 no (MNG header file not found)     PDF:                 Using PostScript plug-in (libpoppler not found)     PNG:                 yes     Print:               yes     PSP:                 yes     Python:              yes     Script-Fu:           yes     SVG:                 no (librsvg not found)     TIFF:                yes     TWAIN (MacOS X):     no     TWAIN (Win32):       no     URI:                 yes (using GIO/GVfs)     Windows ICO          yes     WMF:                 no (libwmf not found)     XJT:                 yes     X11 Mouse Cursor:    yes     XPM:                 no (XPM library not found)   Plug-In Features:     EXIF support:        no (libexif not found or too old)   Optional Modules:     ALSA (MIDI Input):   no (libasound not found or unusable)     Linux Input:         yes (HAL support: no)     DirectInput (Win32): no     Color Correction:    no (lcms not found or unusable)     Soft Proof:          no (lcms not found or unusable) 

Afin de garder l’ancienne version de GIMP, on l’installera dans /usr/local.
Comme d’habitude, si vous avez envie de plus d’options, installez les librairies adéquates.

 $ sudo checkinstall --install=no --pkgname=gimp --pkgversion=2.7.1 \                             --pkgrelease=1 --pkggroup=graphics -y 

Sitôt terminé, on vérifie le paquetage et on l’installe

Et enfin, on fait joujou avec le nouveau bébé:

 $ /usr/local/gimp-2.7/bin/gimp-2.7 

*Enjoy la nouvelle version sans lag…*

Allons dans le passé Revenons dans le futur