Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 590280 - sci-mathematics/octave-4.0.2-r1 - dependency on graphicsmagick blocks 'emerge -uvDN --backtrack=30 world'
Summary: sci-mathematics/octave-4.0.2-r1 - dependency on graphicsmagick blocks 'emerge...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Mathematics related packages
URL:
Whiteboard:
Keywords:
: 590218 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-08-02 08:51 UTC by Juergen Rose
Modified: 2016-08-11 07:19 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2016-08-02 08:51:54 UTC
'emerge -v --update --newuse --deep --with-bdeps=y --backtrack=30 @world' fails with:



root@condor:/root(9)#  emerge -v --update --newuse --deep --with-bdeps=y --backtrack=30  @world

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

Calculating dependencies... done!
[ebuild     U  ] dev-python/python-docs-2.7.12:2.7::gentoo [2.7.10:2.7::gentoo] 4,494 KiB
[ebuild  N     ] app-i18n/unicode-data-9.0.0::gentoo  11,929 KiB
[ebuild     U  ] media-libs/exiftool-10.24::gentoo [10.23::gentoo] USE="doc" 4,064 KiB
...
[ebuild  N     ] media-gfx/graphicsmagick-1.3.24::gentoo  USE="X bzip2 cxx fpx imagemagick jbig jpeg jpeg2k lcms lzma modules openmp perl png postscript q16 q32 svg threads tiff truetype wmf zlib -debug -static-libs -webp" 5,247 KiB
...
[ebuild   R    ] sci-mathematics/octave-4.0.2-r1:0/4.0.2::gentoo  USE="X curl doc fftw glpk gnuplot graphicsmagick%* gui hdf5 imagemagick java opengl postscript qhull qrupdate readline sparse zlib -jit -static-libs" 15,302 KiB
...
[ebuild     U  ] sci-biology/rebase-1608::gentoo [1607::gentoo] USE="emboss -minimal" 110,760 KiB
[blocks B      ] media-gfx/imagemagick ("media-gfx/imagemagick" is blocking media-gfx/graphicsmagick-1.3.24)

Total: 33 packages (25 upgrades, 2 new, 6 reinstalls), Size of downloads: 312,882 KiB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (media-gfx/imagemagick-6.9.4.7:0/6.9.4.7::gentoo, installed) pulled in by
    media-gfx/imagemagick required by (gnome-extra/libgsf-1.14.39:0/114::gentoo, installed)
    media-gfx/imagemagick:0/6.9.4.7= required by (x11-misc/xlockmore-5.47:0/0::gentoo, installed)
    media-gfx/imagemagick required by (media-gfx/recoverjpeg-2.2.3:0/0::gentoo, installed)
    media-gfx/imagemagick:= required by (x11-misc/xlockmore-5.47:0/0::gentoo, installed)
...
    media-gfx/imagemagick required by (media-gfx/zbar-0.10_p20121015:0/0::gentoo, installed)
    media-gfx/imagemagick:=[cxx] required by (media-gfx/inkscape-0.91-r3:0/0::gentoo, installed)

  (media-gfx/graphicsmagick-1.3.24:0/0::gentoo, ebuild scheduled for merge) pulled in by
    media-gfx/graphicsmagick:=[cxx] required by (sci-mathematics/octave-4.0.2-r1:0/4.0.2::gentoo, ebuild scheduled for merge)
Comment 1 Juergen Rose 2016-08-02 13:42:34 UTC
Explicitly disabling graphicsmagick for octave in /etc/portage/package.use helps to avoid this issue.
But I think it should be not possible to set both USE (imagemagick and graphicsmagick) flags together for octave.
Comment 2 Jouni Kosonen 2016-08-02 21:11:05 UTC
I currently have 
=sci-mathematics/octave-4.0.2-r1[graphicsmagick,imagemagick]
=media-gfx/graphicsmagick-1.3.24[-imagemagick]
=media-gfx/imagemagick-6.9.4.7

installed so having both on in octave doesn't seem to be the problem.

It's graphicsmagick[imagemagick], which isn't the default.

It could be that having 

media-gfx/graphicsmagick -imagemagick

somewhere in /etc/portage/package.use might be enough, if imagemagick is set globally in your make.conf.

Having said that, I'm a bit unsure what having both [graphicsmagick,imagemagick] in octave should even accomplish, given that from the ebuild it seems that the imagemagick useflag gets basically ignored in this case.
Comment 3 David Seifert gentoo-dev 2016-08-03 08:00:10 UTC
(In reply to Jouni Kosonen from comment #2)
> I currently have 
> =sci-mathematics/octave-4.0.2-r1[graphicsmagick,imagemagick]
> =media-gfx/graphicsmagick-1.3.24[-imagemagick]
> =media-gfx/imagemagick-6.9.4.7
> 
> installed so having both on in octave doesn't seem to be the problem.
> 
> It's graphicsmagick[imagemagick], which isn't the default.
> 
> It could be that having 
> 
> media-gfx/graphicsmagick -imagemagick
> 
> somewhere in /etc/portage/package.use might be enough, if imagemagick is set
> globally in your make.conf.
> 
> Having said that, I'm a bit unsure what having both
> [graphicsmagick,imagemagick] in octave should even accomplish, given that
> from the ebuild it seems that the imagemagick useflag gets basically ignored
> in this case.

media-gfx/graphicsmagick -imagemagick is likely whats required given the blocker in imagemagick:

!media-gfx/graphicsmagick[imagemagick]

This is rather unfortunate, as it leads to the proliferation of all these useless package.use lines. I'll think about a solution.
Comment 4 Marek Szuba archtester gentoo-dev 2016-08-03 08:16:06 UTC
IMHO USE=imagemagick in media-gfx/graphicsmagick should be renamed, for instance to magick-compat i.e. the name GM uses internally for this option. Its behaviour is not really consistent with the meaning of this use flag (instead of adding IM support to GM, however that would work, it just installs IM-style binary shortcuts to the GM executable) and it causes if someone enables USE=imagemagick globally (which isn't exactly uncommon).
Comment 5 David Seifert gentoo-dev 2016-08-03 11:48:58 UTC
(In reply to Marek Szuba from comment #4)
> IMHO USE=imagemagick in media-gfx/graphicsmagick should be renamed, for
> instance to magick-compat i.e. the name GM uses internally for this option.
> Its behaviour is not really consistent with the meaning of this use flag
> (instead of adding IM support to GM, however that would work, it just
> installs IM-style binary shortcuts to the GM executable) and it causes if
> someone enables USE=imagemagick globally (which isn't exactly uncommon).

I agree, this sounds like the best solution, as it makes the meaning of the USE flag clearer. I'll gather some input on IRC this evening to see what the rest thinks.
Comment 6 David Seifert gentoo-dev 2016-08-05 07:22:26 UTC
I've changed the defaults in IUSE. This should fix (or rather mask) the issue for 80% of users that havent specified USE="graphicsmagick" or USE="imagemagick" or just USE="imagemagick" without enabling USE="graphicsmagick", as this won't trigger the graphicsmagick dependency path. For users explicitly requesting USE="graphicsmagick", renaming the internal graphicsmagick USE flag for installing compatibility symlinks is the only option really.

commit 05f70b616f6df7f4d777c6f03e18c809c3f38b25
Author: David Seifert <soap@gentoo.org>
Date:   Fri Aug 5 09:19:03 2016 +0200

    sci-mathematics/octave: Switch to media-gfx/imagemagick by default
    
    Gentoo-bug: 590280
Comment 7 David Seifert gentoo-dev 2016-08-05 15:40:45 UTC
*** Bug 590218 has been marked as a duplicate of this bug. ***
Comment 8 David Flogeras 2016-08-07 12:04:10 UTC
Last week I installed octave with USE=graphicsmagick (the default for a few days) and today since it was reverted back, I recompiled without graphicsmagick.  Since that was the only package requiring graphicsmagick, I then cleaned the tree and upon removing graphicsmagick, I noted that octave has a automagic dependency on it (ie. it linked to it despite USE=-graphicsmagick).  Not sure if there is anything to be done about this.  Portage still picked it up properly with a preserved-rebuild..
Comment 9 David Seifert gentoo-dev 2016-08-08 08:17:24 UTC
(In reply to David Flogeras from comment #8)
> Last week I installed octave with USE=graphicsmagick (the default for a few
> days) and today since it was reverted back, I recompiled without
> graphicsmagick.  Since that was the only package requiring graphicsmagick, I
> then cleaned the tree and upon removing graphicsmagick, I noted that octave
> has a automagic dependency on it (ie. it linked to it despite
> USE=-graphicsmagick).  Not sure if there is anything to be done about this. 
> Portage still picked it up properly with a preserved-rebuild..

Thanks, there is indeed an automagic dependency on graphicsmagick, that will be solved with an update soon.
Comment 10 Fred Krogh 2016-08-08 14:27:30 UTC
I have graphicsmagick installed, and octave is failing, equery u gives

 # equery u octave imagemagick graphicsmagick
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for sci-mathematics/octave-4.0.2-r1:
 U I
 + + X              : Add support for X11
 - - curl           : Add support for client-side URL transfer library
 - - doc            : Add extra documentation (API, Javadoc, etc). It is recommended to enable per
                      package instead of globally
 - - fftw           : Use FFTW library for computing Fourier transforms
 + + glpk           : Add support for sci-mathematics/glpk for linear programming
 - - gnuplot        : Enable support for gnuplot (data and function plotting)
 - - graphicsmagick : Add support for media-gfx/graphicsmagick
 - - gui            : Enable the graphical user interface
 - - hdf5           : Add support for the Hierarchical Data Format v5
 + + imagemagick    : Enable support for Imagemagick (image converter)
 + + java           : Add support for Java
 - - jit            : (EXPERIMENTAL) enable JIT compiler
 + + opengl         : Add support for OpenGL (3D graphics)
 - - postscript     : Enable support for the PostScript language (often with ghostscript-gpl or
                      libspectre)
 + + qhull          : Add support for media-libs/qhull, to allow `delaunay', `convhull', and related
                      functions
 + + qrupdate       : Add support for sci-libs/qrupdatefor QR and Cholesky update functions
 + + readline       : Enable support for libreadline, a GNU line-editing library that almost everyone
                      wants
 + + sparse         : Add enhanced support for sparse matrix algebra with SuiteSparse
 - - static-libs    : Build static versions of dynamic libraries as well
 + + zlib           : Add support for zlib (de)compression

 * Found these USE flags for media-gfx/imagemagick-6.9.4.7:
 U I
 + + X           : Add support for X11
 - - autotrace   : Use media-gfx/autotrace to convert bitmaps into vector graphics
 + + bzip2       : Use the bzlib compression library
 - - corefonts   : Use media-fonts/corefonts which is required by some commands
 + + cxx         : Build support for C++ (bindings, extra libraries, code generation, ...)
 - - djvu        : Support DjVu, a PDF-like document format esp. suited for scanned documents
 - - fftw        : Use FFTW library for computing Fourier transforms
 + + fontconfig  : Support for configuring and customizing font access via media-libs/fontconfig
 - - fpx         : Enable media-libs/libfpx support
 - - graphviz    : Add support for the Graphviz library
 - - hdri        : enable High Dynamic Range Images formats
 - - jbig        : Enable jbig-kit support for tiff, Hylafax, ImageMagick, etc
 + + jpeg        : Add JPEG image support
 - - jpeg2k      : Support for JPEG 2000, a wavelet-based image compression format
 + + lcms        : Add lcms support (color management engine)
 - - lqr         : Enable experimental liquid rescale support using media-libs/liblqr
 - - lzma        : Support for LZMA (de)compression algorithm
 - - opencl      : Enable OpenCL support
 - - openexr     : Support for the OpenEXR graphics file format
 + + openmp      : Build support for the OpenMP (support parallel computing), requires
                   >=sys-devel/gcc-4.2 built with USE="openmp"
 + + pango       : Enable Pango support using x11-libs/pango
 - - perl        : Add optional support/bindings for the Perl language
 + + png         : Add support for libpng (PNG images)
 - - postscript  : Enable support for the PostScript language (often with ghostscript-gpl or
                   libspectre)
 - - q32         : Set quantum depth value to 32
 - - q64         : Set quantum depth value to 64
 - - q8          : Set quantum depth value to 8
 - - raw         : Add support for raw image formats
 - - static-libs : Build static versions of dynamic libraries as well
 + + svg         : Add support for SVG (Scalable Vector Graphics)
 - - test        : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2
                   handles this internally, so don't set it in make.conf/package.use anymore
 + + tiff        : Add support for the TIFF image format
 + + truetype    : Add support for FreeType and/or FreeType2 fonts
 - - webp        : Enable webp image format support using media-libs/libwebp
 - - wmf         : Add support for the Windows Metafile vector image format
 + + xml         : Add support for XML files
 + + zlib        : Add support for zlib (de)compression

 * Found these USE flags for media-gfx/graphicsmagick-1.3.24:
 U I
 + + X           : Add support for X11
 + + bzip2       : Use the bzlib compression library
 + + cxx         : Build support for C++ (bindings, extra libraries, code generation, ...)
 - - debug       : Enable extra debug codepaths, like asserts and extra output. If you want to get
                   meaningful backtraces see
                   https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 - - fpx         : Enable FlashPix support with media-libs/libfpx
 - - imagemagick : Enable support for Imagemagick (image converter)
 - - jbig        : Enable jbig-kit support for tiff, Hylafax, ImageMagick, etc
 + + jpeg        : Add JPEG image support
 - - jpeg2k      : Support for JPEG 2000, a wavelet-based image compression format
 + + lcms        : Add lcms support (color management engine)
 - - lzma        : Support for LZMA (de)compression algorithm
 + + modules     : Compile graphicsmagick with dynamically loadable modules
 + + openmp      : Build support for the OpenMP (support parallel computing), requires
                   >=sys-devel/gcc-4.2 built with USE="openmp"
 - - perl        : Add optional support/bindings for the Perl language
 + + png         : Add support for libpng (PNG images)
 - - postscript  : Enable support for the PostScript language (often with ghostscript-gpl or
                   libspectre)
 - - q16         : Set storage quantum size to 16 (~2*memory)
 - - q32         : Set storage quantum size to 32 (~5*memory)
 - - static-libs : Build static versions of dynamic libraries as well
 + + svg         : Add support for SVG (Scalable Vector Graphics)
 + + threads     : Add threads support for various packages. Usually pthreads
 + + tiff        : Add support for the TIFF image format
 + + truetype    : Add support for FreeType and/or FreeType2 fonts
 - - webp        : Enable support for webp image format
 - - wmf         : Add support for the Windows Metafile vector image format
 + + zlib        : Add support for zlib (de)compression


Also emerge -pv octave gives
[ebuild   R    ] sci-mathematics/octave-4.0.2-r1:0/4.0.2::gentoo  USE="X glpk imagemagick java opengl qhull qrupdate readline sparse zlib -curl -doc -fftw -gnuplot -graphicsmagick% -gui -hdf5 -jit -postscript -static-libs" 0 KiB

I guess that % folloing -graphicsmagick has to do with the automagic business?  I have nothing set in package.use for any of the above packages.  It was my understanding that octave should emerge with what I have.  If there are suggestions for changes to package.use I'll give them a try.
Comment 11 David Seifert gentoo-dev 2016-08-08 14:29:24 UTC
No, there's a bug in the ebuild. I have a patch waiting, if you want to try and give some feedback:

https://github.com/gentoo/gentoo/pull/2035/commits/3747df71cf9efe825661c7b845358f862056d2b0
Comment 12 Fred Krogh 2016-08-08 14:57:18 UTC
I probably did not do this correctly.  I copied the file for octave-4.0.2-r1.ebuild into /usr/portage/sci-mathematics/octave/octave-4.0.2-r1.ebuild, and got

>>> Verifying ebuild manifests

!!! Digest verification failed:
!!! /usr/portage/sci-mathematics/octave/octave-4.0.2-r1.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 4842
!!! Expected: 4829

I think I'll just wait for this to get fixed in portage.  Thanks.
Comment 13 David Seifert gentoo-dev 2016-08-09 07:09:11 UTC
Ok, I hope this finally fixes it once and for all. Sorry for all the noise and pointless rebuilds.

commit 8020ccb2e7e25d0ae3fbd2f3ab039538b055e31c
Author: David Seifert <soap@gentoo.org>
Date:   Tue Aug 9 09:06:37 2016 +0200

    sci-mathematics/octave: Remove automagic dep on media-gfx/graphicsmagick
    
    Gentoo-Bug: 590280
    * Explicitly select dependency on the basis of USE="graphicsmagick"
      vs USE="imagemagick" only.
Comment 14 David Flogeras 2016-08-09 09:23:02 UTC
Thanks for your effort, and keeping Gentoo awesome!
Comment 15 David Seifert gentoo-dev 2016-08-09 09:23:47 UTC
(In reply to David Flogeras from comment #14)
> Thanks for your effort, and keeping Gentoo awesome!

Does it work now? If so, I can close the bug.
Comment 16 David Seifert gentoo-dev 2016-08-11 07:19:17 UTC
Reopen if problems persist.