Building CinePaint on CentOS and Release 1.0-4

How-to for building CinePaint on CentOS O.S. from CVS or source tarball

By Robin Rowe

HOLLYWOOD, CA ( 2013/5/8 – Release 1.0-4 builds on CentOS/RHEL 6.4. Tarball and i686 rpm at SourceForge. I dropped the 1.3 and 1.2 releases because make rpm prefers 1.0-4 notation.

Here are notes on desktop CentOS operating system installation. Once we have that installed we will want to access SourceForge CVS. There are two ways to do that, anonymous and read-write (if you are a member of the CinePaint developer team).

Anonymous CVS

$ cvs login

$ cvs -z3 co -P cinepaint-project

Read-Write CVS

$ export CVS_RSH=ssh
$ cvs -z3 checkout cinepaint-project

SSH Identity Keys

Developers who don’t want to enter their password over and over whenever making a CVS change will need an identity key.

$ ssh-keygen -C your@email.address

This creates the files .identity and in your .ssh directory. If you use more than one computer, you’ll to copy these files to each one. Next, copy the pub file to SF.

$ scp .ssh/

Next, ssh to SF and rename file.

$ ssh -l username

$ mv .ssh/authorized_keys

Logout and ssh again. You shouldn’t be asked for a password.

Building CinePaint

Install necessary developer libraries first.

# yum install lcms-devel libtiff-devel libpng-devel libjpeg-devel openexr-devel fltk-devel gutenprint-devel libXmu-devel

$ cd cinepaint-project/cinepaint

$ sh

$ sh

Configuration Results

GTK CinePaint Version 1.0.0

General dependencies:
Gtk2 toolkit                 yes    2.18.9
DnD support                  yes    X11/Xmu
littleCMS                    yes    lcms 1.19
Oyranos                      no

Plug-ins with external dependencies:
Python plug-in:              yes    python2.6
OpenEXR plug-in:             yes    OpenEXR 1.6.1
Tiff plug-in:                yes
PNG plug-in:                 yes    libpng 1.2.49
Jpeg plug-in:                yes
Print plug-in:               yes    Gutenprint 5.2.5
FLTK dependent plug-ins:     yes    bracketing_to_hdr collect pdf
Thread dependent plug-ins:   yes    icc_examin
Flex dependent plug-ins:     yes    iol

  1. /usr/bin/ld: ../../libhalf/.libs/cinepaint_half.o: undefined reference to symbol ‘_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4’
    /usr/lib/x86_64-linux-gnu/ error adding symbols: DSO missing from command line

    I think these are the main errors

  2. I’m trying to get cinepaint to work on ubuntu 13.10

    I’m having problems getting it to recognize python (both 2.7 and 3.3 are installed) during ./configure and it’s giving me a DSO error with the blur plugin during make.

    Any help?

  3. Well, just in case anybody has the same problem about jpgs that i encountered, and stumbles across this page, it turns out that it was a matter of the plugins not loading. (In cinepaint, formats like jpeg are handled by plugins. That is, there’s a separate executable called jpeg that does the actual loading of the image into cinepaint.)

    My fix involved modifying the source code, and in view of Kinasis Drummer’s experience recorded above, this may not be necessary. (Just for reference, i am running a different OS, namely CentOS 6.4, not Kubuntu 12.04.)

    Anyhow, here’s the fix, which worked for me to view jpegs, but ymmv!

    There were 3 spots that i had to change.

    In app_procs.c, in the function app_update_prefix(), i changed it so that it would trigger on plug_in_path being null. So the first line of that function for me is now:
    if (!plug_in_path||
    (strcmp(GetDirStaticPrefix(), GetDirPrefix()) != 0) …..

    After making that change, it segfaulted in a couple of other places, which i also repaired.

    One of those places was palette.c, where there’s a comparison between two strings without first checking that they are not null. So near the end of palette_entries_load(char *filename), i modified the code under /* Check if the current palette is the default one */ to read

    if (!default_palette||(strcmp(default_palette, prune_filename(filename)) == 0)) …..

    And the final place was in gradient.c, where there’s a similar comparison without first checking that the strings are not null — right under /* Check if this gradient is the default one */ my version of the function grad_load_gradient(char *filename) now reads
    if (!default_gradient||(strcmp(default_gradient, grad->name) == 0)) …

    So, i imagine that these changes are not necessary, and that by proper setup the proper jpg plugins will get loaded and that will be the end of the story.

    But this does work, at least on CentOS 6.4, at least for me, and i can open up jpgs. (I also get the Oyranos warnings Kinasis reported, so will have to deal with that by and by.)

  4. I’ve built cinepaint 1.0.4 on CentOS 6.4 as well as crunchbang (a debian derivative).

    In both cases, it seems to build ok, but there are run-time issues.

    The biggest run-time issue is that i cannot open jpg files, and this happens on both installations.

    When i try to open a jpg file i get a little panel that says “Open failed: blahblahblah.jpg”

    In both cases, i got all the prerequisites from official repositories (using yum on CentOS, and apt-get in crunchbang), with the exception of fltk, which i had to hand build both times.

    Does anybody have any advice on how to handle this?

    TIA for any info.


  5. @tornster:

    I managed to get Cinepaint to build from source OK on my Kubuntu 12.04 machine, but I had problems with the installation too.

    During building, the configure step went OK and ‘make install’ succeeded, but when I tried to run the program I got an error about not being found. But I found a solution to that problem!

    Using find, I was able to determine that the Cinepaint libs were installed to /usr/local/lib.
    So the libraries are all there. Therefore I figured it must just be something related to ldconfig (paths to .so library files used by programs and linkers for compilers).

    To solve this problem: Add a new file to /etc/ using the following command:
    sudo vim /etc/

    NOTE: Substitute vim for your favourite text editor. Additionally, if you’re using a GUI based editor like Gedit, Kate, Geany or emacs (in windowed mode), you might want to consider using gksudo rather than sudo.

    In the new file, add the following line:

    Save the file and exit the text editor
    Then to apply the changes to your system, run this command:
    sudo ldconfig

    Now Cinepaint should run.
    AFAICT it appears to run OK, but when I create a new image I keep getting error messages about colour management. Which I seem to have to disable each time I run the program. I think I just need to grab a copy of Oyranos and build/install that before attempting to rebuild and re-install Cinepaint again!

Leave a Reply