CinePaint / HDR mit OpenSuse 11.0

warning: fread(): Length parameter must be greater than 0 in /var/www/elchs-kramkiste.de/lapurd/includes/common.inc(1695) : eval()'d code on line 19.

Vorbemerkung: Anfangs hatte ich nur Probleme (siehe weiter unten)...

Am 24.10.2009 bin ich mehr oder weniger per Zufall auf eine funktionierende cinepaint-Installations-Möglichkeit für OpenSuse 11.0 gestoßen.

Bei der Linux-Community gab es einen Link auf eine Site der OpenSuse-Community. Nachdem ich dort von OpenSuse 11.1 auf OpenSuse 11.0 umgestellt habe und von unten nach oben

  • icc_examin-cinepaint (0.47_rc1)
  • cinepaint-devel (0.25)
  • cinepaint (0.25)
  • installiert habe (es müssen reichlich GnuPG-Schlüssel erlaubt werden!), konnte ich cinepaint erfolgreich aus einer Konsole starten (Aufruf: cinepaint). Die Installationsbestätigung abgenickt und schon lief es. Jetzt geht es ans Testen der HDRs.

    Hier meine vorherigen Versuche aus September 2009 (aus "damaliger" Sicht geschrieben), falls es jemand interessiert:

    Da das allseits empfohlene qtpfsgui mir immer beim Abspeichern der erzeugten HDR-Bilder (ok, es waren 3 * 16-Bit TIFF-Bilder mit jeweils über 100 MByte) abstürzte, habe ich mich mal mit CinePaint auseinandergesetzt. Da es dafür keine fertigen Installationspakete für OpenSuse gibt, bin ich nach dieser Anleitung vorgegangen.

    Ich kontrollierte die notwendigen und installierte die fehlenden Pakete. Beim

    ./configure --prefix=/usr --enable-gtk2 --enable-pygimp

    kam dann die Meldung:

    =================================================================
                  Configuration Results
    
    GTK CinePaint Version 0.25.0
    
    
    General dependencies:
       Gtk2 toolkit                 yes    2.12.9
       DnD support                  yes    X11/Xmu
       littleCMS                    yes    lcms 1.17
       Oyranos                      yes    oyranos 0.1.7
    
    Plug-ins with external dependencies:
       Python plug-in:              yes    python2.5
       OpenEXR plug-in:             yes    OpenEXR
       Tiff plug-in:                yes
       PNG plug-in:                 yes    libpng 1.2.26
       Jpeg plug-in:                yes
       Print plug-in:               yes    Gutenprint 5.0.2
       FLTK dependent plug-ins:     yes    bracketing_to_hdr collect pdf
       Thread dependent plug-ins:   yes    icc_examin
       Flex dependent plug-ins:     yes    iol
    =================================================================
    
    configure: error: !!! An ERROR occured !!!
        Please check the above messages to see why.
        For bug reports please include the complete above output.
    

    Ein anschließendes make lieferte dann:

    make[1]: Leaving directory `/opt/cinepaint-project/cinepaint/plug-ins'
    make: *** [all-recursive] Error 1
    

    Also erst mal ein make clean und nochmals den o.a. configure-Befehl abgesetzt. Die Ausgaben auf irgendwelche Ungereimtheiten geprüft und folgendes gesehen:

    checking for tiffio.h... yes
    checking for pkg-config... /usr/bin/pkg-config
    Package OpenEXR was not found in the pkg-config search path.
    Perhaps you should add the directory containing `OpenEXR.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'OpenEXR' found
    checking for openexr support... checking OpenEXR/half.h usability... no
    checking OpenEXR/half.h presence... no
    checking for OpenEXR/half.h... no
    configure: WARNING:
    *** OpenEXR dev header half.h not found
    *** install OpenEXR and development packages or
    *** download from http://www.openexr.org
    checking for JPEG support... checking for jinit_memory_mgr in -ljpeg... yes
    

    Interessant sind die Meldungen bezüglich OpenEXR. Per yast noch das fehlende Devel-Paket dazu installiert und configure lief ohne Fehlermeldungen durch.

    =================================================================
                  Configuration Results
    
    GTK CinePaint Version 0.25.0
    
    
    General dependencies:
       Gtk2 toolkit                 yes    2.12.9
       DnD support                  yes    X11/Xmu
       littleCMS                    yes    lcms 1.17
       Oyranos                      yes    oyranos 0.1.7
    
    Plug-ins with external dependencies:
       Python plug-in:              yes    python2.5
       OpenEXR plug-in:             yes    OpenEXR 1.6.1
       Tiff plug-in:                yes
       PNG plug-in:                 yes    libpng 1.2.26
       Jpeg plug-in:                yes
       Print plug-in:               yes    Gutenprint 5.0.2
       FLTK dependent plug-ins:     yes    bracketing_to_hdr collect pdf
       Thread dependent plug-ins:   yes    icc_examin
       Flex dependent plug-ins:     yes    iol
    =================================================================
    
    Now type 'make' and 'make install' / 'make rpm' to build the package and
    install. The unix command is 'cinepaint'.
    

    Also jetzt noch ein make (das dauert etwas) mit anschließendem su und make install und gut ist.

    Zu früh gefreut... Es kommen beim make folgende Meldungen:

    icc_oyranos.o: In function `Oyranos::moniInfo(int, int, int*)':
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:718: 
    undefined reference to `oyGetScreenFromPosition'
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:723: 
    undefined reference to `oyGetMonitorInfo'
    icc_oyranos.o: In function `Oyranos::setzeMonitorProfil(char const*, int, int)':
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:675: 
    undefined reference to `oyGetScreenFromPosition'
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:678: 
    undefined reference to `oySetMonitorProfile'
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:686: 
    undefined reference to `oyGetMonitorProfileName'
    icc_oyranos.o: In function `Oyranos::moni_test_(int, int)':
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:348: 
    undefined reference to `oyGetScreenFromPosition'
    /opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin/icc_oyranos.cpp:350: 
    undefined reference to `oyGetMonitorProfile'
    collect2: ld returned 1 exit status
    make[3]: *** [iccexamin] Error 1
    make[3]: Leaving directory `/opt/cinepaint-project/cinepaint/plug-ins/icc_examin/icc_examin'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/opt/cinepaint-project/cinepaint/plug-ins/icc_examin'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/opt/cinepaint-project/cinepaint/plug-ins'
    make: *** [all-recursive] Error 1
    

    Jetzt muss ich erst mal weiterschauen... Sobald ich mehr weiß, melde ich mich...

    Hmmm... mein erster Fehler war wohl, dass ich mir die veraltete Version 0.1.7 von oyranos gezogen und installiert habe (aktuell ist 0.1.9). In der Version ist aber kein elektra mehr enthalten. Also die aktuelle Version 0.7.0 gezogen und mit dem Dreisatz (./configure, make, make install) installiert. Lief problemlos. Oyranos 0.1.9 war danach auch per einfachem Dreisatz zu kompilieren.

    Bei CinePaint musste ich erst mal per make clean die Verweise auf die veraltete oyranos-Version löschne und nochmals den ./configure ....-Befehl absetzen. Nach anschließendem make und make install musste ich noch ein ldconfig eingeben, da die Meldung

    # cinepaint
    cinepaint: error while loading shared libraries: liboyranos.so.0.1.9: cannot open 
    shared object file: No such file or directory
    

    kam.

    Beim anschließenden Aufruf von cinepaint kam es aber zum Fehler:

    ~> cinepaint
    Locale found in /usr/share/locale
    
    (cinepaint:5279): Gtk-WARNING **: A floating object was finalized. This means 
    that someone called g_object_unref() on an object that had only a floating
    reference; the initial floating reference is not owned by anyone
    and must be removed with g_object_ref_sink().
    cms.c:466 cms_init_oyranos() monitor profile size: 6922
    lcms: Error #12288; Corrupted memory profile
    

    Und schon wieder hmmmm..... 6922 ist genau die Größe der sRGB-ICC-Profildatei ...