media-video/cinepaint-0.22.1 will not compile with g++ 4.4.1, dying in plug-ins/collect/ with:
collect.cpp: In function 'int do_collect()':
collect.cpp:304: error: invalid conversion from 'const char*' to 'char*'
collect.cpp:304: error: initializing argument 2 of 'void gimp_layer_set_name(gint32, char*)'
collect.cpp:344: error: invalid conversion from 'const char*' to 'char*'
collect.cpp:344: error: initializing argument 2 of 'void gimp_layer_set_name(gint32, char*)'
Simply casting the second argument to gimp_layer_set_name as (char *) allows cinepaint to compile; will attach a diff. I can't warranty correctness though. There are many many compiler warnings throughout cinepaint.
Steps to Reproduce:
1. (Maybe not required) upgrade GCC/G++ to 4.4.1
2. emerge cinepaint
Created attachment 206370 [details, diff]
Add missing (char *) casts to cinepaint-0.22-1/plug-ins/collect/collect.cpp
(In reply to comment #1)
> Created an attachment (id=206370) [details]
> Add missing (char *) casts to cinepaint-0.22-1/plug-ins/collect/collect.cpp
The real fix would be to modify gimp_layer_set_name() to use "const char *" parameter, isn't it?
(In reply to comment #2)
> The real fix would be to modify gimp_layer_set_name() to use "const char *"
> parameter, isn't it?
The patch http://bugs.gentoo.org/attachment.cgi?id=210627&action=view by Jan Scholz from the Bug 278375 does so, I think. Using that I hit the Bug 259331 and using https://bugs.gentoo.org/attachment.cgi?id=187464&action=view by Mike from that bug I got to the final problem mentioned there as well as in its own Bug 246374 -- I've got over that by using the media-video/cinepaint-9999.ebuild proposed in the Bug 278375 by Michael Weber.
After adding his owerlay http://svn.xmw.de/gentoo-overlay/ to my system I have
installed cinepaint successfully, even with the oyranos support. I cannot tell
yet how well it actually works.