Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 663468 - media-gfx/inkscape fails to build with =media-gfx/imagemagick-7*: ‘MatteChannel’ is not a member of ‘Magick’
Summary: media-gfx/inkscape fails to build with =media-gfx/imagemagick-7*: ‘MatteChann...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mikle Kolyada (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 656730
Blocks: imagemagick-7
  Show dependency tree
 
Reported: 2018-08-12 20:32 UTC by Ervin Peters
Modified: 2020-05-05 14:42 UTC (History)
10 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-gfx/inkscape-0.92.[23] build.log (inkscapeBuild.log.bz2,22.38 KB, application/x-bzip)
2018-08-12 20:32 UTC, Ervin Peters
Details
Build log with im7.patch (build.log,812.75 KB, text/x-log)
2019-11-07 18:38 UTC, Russell Dwiggins
Details
Build log with im7.patch (build.log.bz2,19.64 KB, application/x-bzip)
2019-11-07 18:56 UTC, Russell Dwiggins
Details
inkscape-imagemagick7_fix_makefile_insert.patch (inkscape-imagemagick7_fix_makefile_insert.patch,532 bytes, patch)
2019-11-10 10:50 UTC, Thomas Bettler
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ervin Peters 2018-08-12 20:32:35 UTC
Created attachment 543216 [details]
media-gfx/inkscape-0.92.[23] build.log

Both, stable and unstable media-gfx/inkscape-0.92.[23] fails to build with the same error:

extension/internal/bitmap/channel.cpp:
 In Elementfunktion »virtual void Inkscape::Extension::Internal::Bitmap::Channel::applyEffect(Magick::Image*)«:
extension/internal/bitmap/channel.cpp:31:66: Fehler: »MatteChannel« ist kein Element von »Magick«
  else if (!strcmp(_layerName, "Matte Channel"))  layer = Magick::MatteChannel;

This seems to be and imagemagick change because portage complains somewhere else about a missing dependency to media-gfx/imagemagick-7.0.5 which isn't in tree anymore.

ervin

build.log attached

muli ~ # emerge --info
Portage 2.3.40 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop/gnome/systemd, gcc-7.3.0, glibc-2.26-r7, 4.17.4-gentoo x86_64)
=================================================================
System uname: Linux-4.17.4-gentoo-x86_64-Intel-R-_Core-TM-_i5-6600K_CPU_@_3.50GHz-with-gentoo-2.4.1
KiB Swap:   33554428 total,  33551100 free
Timestamp of repository gentoo: Sun, 12 Aug 2018 10:45:01 +0000
Head commit of repository gentoo: cc5956260bf80fd3f92b52ff62cbefbbad7612d0
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p2) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.5::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r2::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r3::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://woodstok.ervnet.local/gentoo-portage
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 50

muli
    location: /usr/local/portage
    masters: gentoo
    priority: 1000

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=skylake -O3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=skylake -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en en_GB ru"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="3d 3ds 64bit X Xaw3d a52 aac ace acl acpi addns aften aim alsa amd64 amr animgif apache2 apng applet aqbanking archive asf aspell assistant audio auto-completion bash-completion bazaar bdf berkdb blender bogofilter branding builder bzip2 cairo cdda cdparanoia cdr charset chm cjk cli collada colord context contrib corefonts crypt css cups curl cvs cvsgraph cxx d darcs dbi dbus deprecated detex devhelp dia discouraged djvu dmx doc dri dri3 drm dts dv dvd dvdnav dvdr dvi dynamicplugin eds emboss emf enca encode escreen evo examples exif extensions extra extras fam fastcgi fat fax fbcon ffmpeg flac flash fontconfig fontforge fonts foomaticdb fortran fping fpx ftp fuse games gcj gd gdbm gdk-pixbuf geoip georeferencer geos gif gimp git gkrellm glade glamor gles gles1 gnome gnome-keyring gnome-online-accounts gnome-shell gpac gphoto2 gpm gps graphics graphviz grass grub gstreamer gtk gtk2-perl gtkhtml gudev gzip h224 h281 h323 hbci hdri hfs high-ints html humanities ibam icons iconv icq icu ieee1394 imagemagick imap infinality inkjar inotify inspector introspection iodbc ios ipv6 irc ithreads jadetex java javascript jbig joystick jpeg jpeg2k kerberos kpathsea lame lasi latex lcms ldap libnotify libsecret libssh2 libtirpc libwww live lm_sensors logrotate lqr lto lua luatex lzo mad mapnik mapserver mdb mdnsresponder-compat menuorg mercurial metric midi mikmod mime minizip mjpeg mms mng mod modules mozdom mp3 mp4 mpeg mpi mplayer msn mssql mtp multilib music mysql mysqli nautilus ncurses network network-cron networkmanager nfs nfsv4 nls nntp nocd nptl nsplugin ntfs ntfsprogs ntlm odk offensive ofx ogg ogm omega openexr opengl openmp openstreetmap openvg openxml oscar osdmenu pam pango pcf pch pcre pda pdf perl pgf pixmaps player plotutils plugins png pnm polar policykit posix postgres ppds psf pstricks publishers pulseaudio pvr python qt5 quicktime rar raw rdp readline regex register2 reiserfs romio rtsp samba sasl scanner science screen scripts sdl seccomp sensord server sftp shorten simplexml sip sipim slp smartcard smp snmp soap sockets sound soup source sourcecaps sourceview speex spell sql sqlite sqlite3 ssl startup-notification stream subtitles subversion svg sylpheed syslog systemd szip tcpd templates tex tex4ht tga theora thesaurus threads thumbnail thunderbird tidy tiff timidity tinfo tk tools tracker transcode truetype udev udisks unicode unzip upower usb utils uxa v4l vaapi valgrind vcd vdpau vdr vhosts vorbis wav webkit winbind wineappdb wma wmf wxwidgets x264 xattr xbase xcb xcf xcomposite xetex xface xfs xft xml xmlrpc xorgmodule xpm xscreensaver xslt xterm xv xvid xvmc yaepg yahoo youtube zip zlib" ABI_X86="64" ALSA_CARDS="HDA-INTEL" APACHE2_MODULES="modules_unixd actions access_compat alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_file authz_core authz_dbm authz_dbd authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id userdir usertrack vhost_alias asis cgi cgid" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse joystick wacom libinput" KERNEL="linux" L10N="de en en-GB ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="php mobility" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="aarch64 armel i386 mips64el mipsel x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jonas Stein gentoo-dev 2018-08-13 20:08:31 UTC
could you paste the log with LANG="C", please?

I could not reproduce it here with
media-gfx/inkscape-0.92.3
media-gfx/imagemagick-7.0.8.8
and gcc-7
Comment 2 Ervin Peters 2018-08-16 10:17:49 UTC
(In reply to Jonas Stein from comment #1)
> could you paste the log with LANG="C", please?
> 
> I could not reproduce it here with
> media-gfx/inkscape-0.92.3
> media-gfx/imagemagick-7.0.8.8
> and gcc-7

Same error after setting lang=C

The file ../channel.cpp includes <Magick++.h> which on my system is found under /usr/include/ImageMagick-7/Magick++.h

and needs the useflag cxx on imangemagick set.

Doing a grep -rI 'MatteChannel' in /usr/include/ImageMagick-7/ finds nothing.

The result reflects the error, also after a reinstall of imagemagick...

Dinner is over, have to do something payed for.

ervin
Comment 3 Ervin Peters 2018-08-17 11:15:57 UTC
found something similar:

https://github.com/ImageMagick/ImageMagick/issues/1176

https://github.molgen.mpg.de/mariux64/pkg-scripts/blob/master/inkscape-0.92.1-0.build.sh

I'l take a look at the patches later on.

ervin
Comment 4 Ervin Peters 2018-08-18 19:54:47 UTC
It's an issue related to removed previous deprecated features, which are not corrected in inkscape yet because of imagemagick-6 compatibility

see: https://sourceforge.net/p/inkscape/mailman/message/36053897/

unfortunately the mentioned patch does not work with inkscape-0.92.3
- trailing tabs in channel.cpp but not in the patch
- errors after applying the corrected patch about missing the commented opacity functions.

no further idea.

ervin
Comment 5 Ervin Peters 2018-08-19 08:28:25 UTC
For completeness, emerge --depclean complains on

Calculating dependencies... done!
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 * 
 *   media-gfx/imagemagick:0/7.0.8.5=[cxx] pulled in by:
 *     media-gfx/inkscape-0.92.2
 * 

It seems to me that the removing of imagemagick deprecated features happend between 7.0.8.5 and the current stable 7.0.8.8.

Any Ideas how to solve that?

ervin
Comment 6 Ervin Peters 2018-08-19 19:45:24 UTC
Found something valid.
I tried the same on updating my laptop. Inkscape compiled fine. same use flags, same versions, same ...

but:

On the Laptop the build shows a little difference: The check for ImageMagick++ results to 'no' whether on my Desktop it shows 'yes'.

The test checks for existance of ImageMagick++.pc in /usr/lib64/pkgconfig/

On the laptop it doesn't exist because imagemagick doesn't install it.

But another app complained about a missing ImageMagick++ in Spring so I created a symlink: ImageMagick++.pc -> /usr/lib64/pkgconfig/Magick++.pc

Now all Programms find ImageMagick++ but might struggle with the API Namechanges.

@Jonas Stein, it explains why your emerge finished, but if you dig you'll find that ImageMagick++ wasn't found during configure and therefore Imagemagick isn't used.

For crosscheck, I create the symlink on the laptop and tried to ebuild...
configure finds ImageMagick++ and bumm the build errors:

extension/internal/bitmap/channel.cpp: In Elementfunktion »virtual void Inkscape::Extension::Internal::Bitmap::Channel::applyEffect(Magick::Image*)«:
extension/internal/bitmap/channel.cpp:31:66: Fehler: »MatteChannel« ist kein Element von »Magick«
  else if (!strcmp(_layerName, "Matte Channel"))  layer = Magick::MatteChannel;
                                                                  ^~~~~~~~~~~~
;)

Two buggy things:
- ImageMagick++ detection
- ImageMagick++ V7 API compatibility in Inkscape, see referenced bug.

ervin
Comment 7 jorgicio 2019-11-07 16:47:42 UTC
I found somewhere a patch that makes Inkscape work with Imagemagick 7. I haven't tested it yet, but at least you have the idea.

https://launchpadlibrarian.net/312310892/im7.patch

See here for the discussion. https://bugs.launchpad.net/inkscape/+bug/1675962
Comment 8 Russell Dwiggins 2019-11-07 18:36:49 UTC
(In reply to jorgicio from comment #7)
> I found somewhere a patch that makes Inkscape work with Imagemagick 7. I
> haven't tested it yet, but at least you have the idea.
> 
> https://launchpadlibrarian.net/312310892/im7.patch
> 
> See here for the discussion. https://bugs.launchpad.net/inkscape/+bug/1675962

I applied that patch, and it gets further, but still fails.  I've attached a build log.
Comment 9 Russell Dwiggins 2019-11-07 18:38:46 UTC
Created attachment 595246 [details]
Build log with im7.patch
Comment 10 Russell Dwiggins 2019-11-07 18:56:04 UTC
Created attachment 595248 [details]
Build log with im7.patch

Last log was copied when IM was building in the background during an update. D'oh!
Comment 11 jorgicio 2019-11-08 00:04:53 UTC
(In reply to Russell Dwiggins from comment #8)
> (In reply to jorgicio from comment #7)
> > I found somewhere a patch that makes Inkscape work with Imagemagick 7. I
> > haven't tested it yet, but at least you have the idea.
> > 
> > https://launchpadlibrarian.net/312310892/im7.patch
> > 
> > See here for the discussion. https://bugs.launchpad.net/inkscape/+bug/1675962
> 
> I applied that patch, and it gets further, but still fails.  I've attached a
> build log.

Yes, I also tried the patch and it fails too.

Also, the requirement for older versions of Imagemagick as a dependency breaks other packages which require newer than 7 version of Imagemagick. (I'll file a bug then)
Comment 12 augustin 2019-11-08 08:10:32 UTC
I think jorgicio is talking about this:

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

media-gfx/imagemagick:0

  (media-gfx/imagemagick-7.0.8.67:0/7.0.8.67::gentoo, installed) pulled in by
    media-gfx/imagemagick:0/7.0.8.67= required by (media-gfx/digikam-6.2.0:5/5::gentoo, installed)
                         ^^^^^^^^^^^^                                                                                                 
    media-gfx/imagemagick:0/7.0.8.67= required by (media-video/transcode-1.1.7-r3:0/0::gentoo, installed)
                         ^^^^^^^^^^^^                                                                                                        

  (media-gfx/imagemagick-6.9.10.67:0/6.9.10.67::gentoo, ebuild scheduled for merge) pulled in by
    <media-gfx/imagemagick-7:=[cxx] required by (media-gfx/inkscape-1.0_beta1:0/0::gentoo, ebuild scheduled for merge)
Comment 13 augustin 2019-11-08 08:14:12 UTC
https://bugs.gentoo.org/699586
Comment 14 Thomas Bettler 2019-11-10 10:50:03 UTC
Created attachment 595630 [details, diff]
inkscape-imagemagick7_fix_makefile_insert.patch

(In reply to jorgicio from comment #7)
> I found somewhere a patch that makes Inkscape work with Imagemagick 7. I
> haven't tested it yet, but at least you have the idea.
> 
> https://launchpadlibrarian.net/312310892/im7.patch
> 
> See here for the discussion. https://bugs.launchpad.net/inkscape/+bug/1675962

You may want to additionally apply this patch to fix makefile behaviour...
Comment 15 jorgicio 2019-11-13 15:07:44 UTC
(In reply to Thomas Bettler from comment #14)
> Created attachment 595630 [details, diff] [details, diff]
> inkscape-imagemagick7_fix_makefile_insert.patch
> 
> (In reply to jorgicio from comment #7)
> > I found somewhere a patch that makes Inkscape work with Imagemagick 7. I
> > haven't tested it yet, but at least you have the idea.
> > 
> > https://launchpadlibrarian.net/312310892/im7.patch
> > 
> > See here for the discussion. https://bugs.launchpad.net/inkscape/+bug/1675962
> 
> You may want to additionally apply this patch to fix makefile behaviour...

The combination of both packages work very good, but now it's time to fix the ebuilds for dependencies, as well as other packages which depends on Imagemagick 6.

Meanwhile, I create another overlay to get rid of that:

https://github.com/jorgicio/magick6-compat
Comment 16 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2020-05-05 14:42:14 UTC
Seems ok with 1.0 now.