Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 682388

Summary: app-misc/graphlcd-base-1.0.1 - dependency on <media-gfx/imagemagick-7 blocks 'emerge world'
Product: Gentoo Linux Reporter: Juergen Rose <rose>
Component: Current packagesAssignee: Conrad Kostecki <conikost>
Status: RESOLVED CANTFIX    
Severity: normal CC: proxy-maint, vdr
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Juergen Rose 2019-04-03 07:38:59 UTC
'emerge -uvDN --keep-going --backtrack=30 world' fails with:!!! 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.36:0/7.0.8.36::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (media-gfx/imagemagick-6.9.10.36:0/6.9.10.36::gentoo, installed) pulled in by
    media-gfx/imagemagick:0/6.9.10.36= required by (media-video/dvdauthor-0.7.2-r2:0/0::gentoo, installed)
                         ^^^^^^^^^^^^^                                                                                                        
    <media-gfx/imagemagick-7 required by (app-misc/graphlcd-base-1.0.1:0/0::gentoo, ebuild scheduled for merge)
    ^                      ^                                                                                                                                          
    (and 7 more with the same problems)




Is there any chance that graphlcd-base works with current imagemagick?
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2019-04-03 11:11:21 UTC
(In reply to Juergen Rose from comment #0)
> Is there any chance that graphlcd-base works with current imagemagick?

No.

extformats.c: In member function ‘virtual bool GLCD::cExtFormatFile::LoadScaled(GLCD::cImage&, const string&, uint16_t&, uint16_t&)’:
extformats.c:131:30: error: ‘class Magick::Image’ has no member named ‘matte’
         bool isMatte = (*it).matte();
                              ^~~~~
extformats.c:133:23: error: ‘PixelPacket’ in namespace ‘Magick’ does not name a type
         const Magick::PixelPacket *pix = (*it).getConstPixels(0, 0, (int)width, (int)height);
                       ^~~~~~~~~~~
extformats.c:133:15: note: suggested alternative: ‘PixelData’
         const Magick::PixelPacket *pix = (*it).getConstPixels(0, 0, (int)width, (int)height);
               ^~~~~~
               PixelData
extformats.c:137:65: error: ‘pix’ was not declared in this scope
             if ( isMatte && Magick::Color::scaleQuantumToDouble(pix->opacity) * 255 == 255 ) {
                                                                 ^~~
extformats.c:137:65: note: suggested alternative: ‘ix’
             if ( isMatte && Magick::Color::scaleQuantumToDouble(pix->opacity) * 255 == 255 ) {
                                                                 ^~~
                                                                 ix
extformats.c:155:15: error: ‘pix’ was not declared in this scope
             ++pix;
               ^~~
extformats.c:155:15: note: suggested alternative: ‘ix’
             ++pix;
               ^~~
               ix
make[1]: *** [Makefile:35: extformats.o] Error 1
Comment 2 Conrad Kostecki gentoo-dev 2019-04-05 08:38:32 UTC
Hi Jürgen,
i am sorry, but I am afraid, I can't do anything here. Upstream just won't compile with >= imagemagic-7.x, so the code would need to be adjusted.
Patches are welcome.

The only alternative could be, if you would switch from imagemagick to graphicsmagick, as it's a replacement for imagemagick and also supported.

Cheers
Conrad
Comment 3 Juergen Rose 2019-04-17 09:08:08 UTC
(In reply to Conrad Kostecki from comment #2)
> Hi Jürgen,
> i am sorry, but I am afraid, I can't do anything here. Upstream just won't
> compile with >= imagemagic-7.x, so the code would need to be adjusted.
> Patches are welcome.
> 
> The only alternative could be, if you would switch from imagemagick to
> graphicsmagick, as it's a replacement for imagemagick and also supported.
> 
> Cheers
> Conrad

Switching to graphicksmagick seems to be no option for me. I have too much packages depending on imagemagick. And there seems also no general advantage of graphicksmagick vs. imagemagick, compare e.g. https://stackoverflow.com/questions/32624251/what-is-actual-difference-between-graphicsmagick-and-imagemagick .

But removing the imagemagick USE flag from graphlcd-base-base-1.0.2 remove at least the blocking of 'emerge -uvDN world'.
Comment 4 Conrad Kostecki gentoo-dev 2019-04-17 20:05:31 UTC
(In reply to Juergen Rose from comment #3)
> But removing the imagemagick USE flag from graphlcd-base-base-1.0.2 remove
> at least the blocking of 'emerge -uvDN world'.

I am confused, you could just disable imagemagick for this package?
Comment 5 Juergen Rose 2019-04-18 05:44:07 UTC
(In reply to Conrad Kostecki from comment #4)
> (In reply to Juergen Rose from comment #3)
> > But removing the imagemagick USE flag from graphlcd-base-base-1.0.2 remove
> > at least the blocking of 'emerge -uvDN world'.
> 
> I am confused, you could just disable imagemagick for this package?

I think, that I did:

root@lynx:/root(5)# grep graphlcd-base /etc/portage/package.use/monolithic
=app-misc/graphlcd-base-1.0.2 -imagemagick

root@lynx:/root(6)# emerge -pv1 graphlcd-base

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] app-misc/graphlcd-base-1.0.2::gentoo  USE="fontconfig -freetype -g15 -graphicsmagick -imagemagick" LCD_DEVICES="-ax206dpf -picolcd_256x64 -vnc" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

root@lynx:/root(7)# genlop -t graphlcd-base | tail

     Wed Mar 13 10:32:13 2019 >>> app-misc/graphlcd-base-0.1.9
       merge time: 23 seconds.

     Sun Apr  7 14:32:03 2019 >>> app-misc/graphlcd-base-0.1.9
       merge time: 21 seconds.

     Wed Apr 17 10:47:42 2019 >>> app-misc/graphlcd-base-1.0.2
       merge time: 21 seconds.
Comment 6 Conrad Kostecki gentoo-dev 2019-04-19 22:08:33 UTC
Okay, and you still get a blocker for emerge world?
I can't reproduce here. Installed graphlcd-base with disabled imagemagick, but imagemagick-7 is installed. An emerge -avuDN @world @system just works and no blocker occurs here.