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

Bug 241894

Summary: x11-libs/cairo-1.8.0 redudant dependency on gtk+ and librsvg
Product: Gentoo Linux Reporter: Nikolay S. Rybaloff <dairinin>
Component: Current packagesAssignee: Doug Goldstein (RETIRED) <cardoe>
Status: RESOLVED FIXED    
Severity: normal CC: compnerd, pva, sulka.raf
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info

Description Nikolay S. Rybaloff 2008-10-14 08:29:23 UTC
Yesterday's release of rrdtool depends on cairo built with svg use flag, which in turn pulls librsvg, a full set of X libs and gtk+.
I'm running a server-like setup without X, and I'm using cacti there. And I don't see any reason to build gtk or X for this setup.
USE="-jpeg svg -python" emerge cairo -pv --tree

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

Calculating dependencies... done!
[ebuild   R   ] x11-libs/cairo-1.8.0  USE="svg* -X -debug -directfb -doc -glitz -opengl -xcb" 0 kB
[ebuild  N    ]  gnome-base/librsvg-2.22.3  USE="zlib -debug -doc" 481 kB
[ebuild  N    ]   x11-libs/gtk+-2.14.3-r2  USE="-X -cups -debug -doc -jpeg -jpeg2k -tiff -vim-syntax -xinerama" 16,748 kB
[ebuild  N    ]   dev-libs/libcroco-0.6.1  USE="-debug" 373 kB
[ebuild  N    ]   gnome-extra/libgsf-1.14.9  USE="bzip2 -debug -doc -gnome -python" 612 kB
[nomerge      ] x11-libs/cairo-1.8.0  USE="svg* -X -debug -directfb -doc -glitz -opengl -xcb"
[nomerge      ]  x11-libs/gtk+-2.14.3-r2  USE="-X -cups -debug -doc -jpeg -jpeg2k -tiff -vim-syntax -xinerama"
[ebuild  N    ]   x11-misc/shared-mime-info-0.51  436 kB
[ebuild  N    ]    dev-util/intltool-0.40.5  138 kB
[ebuild  N    ]     dev-perl/XML-Parser-2.36  225 kB
[ebuild  N    ]   x11-libs/libXrandr-1.2.3  USE="-debug" 246 kB
[ebuild  N    ]    x11-proto/randrproto-1.2.2  62 kB
[ebuild  N    ]   x11-libs/libXcomposite-0.4.0  USE="-debug" 213 kB
[ebuild  N    ]   x11-libs/libXt-1.0.5  USE="-debug" 489 kB
[ebuild  N    ]   x11-libs/libXdamage-1.1.1  USE="-debug" 197 kB
[ebuild  N    ]   x11-libs/libXi-1.1.3  USE="-debug" 243 kB
[ebuild  N    ]   x11-libs/libXcursor-1.1.9  USE="-debug" 230 kB
[ebuild  N    ]    x11-libs/libXrender-0.9.4  USE="-debug" 222 kB
[ebuild  N    ]    x11-libs/libXfixes-4.0.3  USE="-debug" 210 kB
[ebuild  N    ]   x11-libs/libXext-1.0.4  USE="-debug" 259 kB
[ebuild  N    ]    x11-libs/libX11-1.1.5  USE="ipv6 -debug -xcb" 1,548 kB
[ebuild  N    ]     x11-proto/xcmiscproto-1.1.2  36 kB
[ebuild  N    ]     x11-libs/libXdmcp-1.0.2  USE="-debug" 216 kB
[ebuild  N    ]     x11-proto/bigreqsproto-1.0.2  36 kB
[ebuild  N    ]     x11-libs/libXau-1.0.4  USE="-debug" 223 kB
[ebuild  N    ]     x11-proto/xf86bigfontproto-1.1.2  37 kB
[nomerge      ] x11-libs/libXt-1.0.5  USE="-debug"
[ebuild  N    ]  x11-libs/libSM-1.1.0  USE="ipv6 -debug" 247 kB
[ebuild  N    ]   x11-libs/libICE-1.0.4  USE="ipv6 -debug" 247 kB
[nomerge      ] x11-libs/libXcomposite-0.4.0  USE="-debug"
[nomerge      ]  x11-libs/libXfixes-4.0.3  USE="-debug"
[ebuild  N    ]   x11-proto/fixesproto-4.0  38 kB
[ebuild  N    ]  x11-proto/compositeproto-0.4  45 kB
[nomerge      ] x11-libs/gtk+-2.14.3-r2  USE="-X -cups -debug -doc -jpeg -jpeg2k -tiff -vim-syntax -xinerama"
[ebuild  N    ]  dev-util/gtk-doc-am-1.10-r1  395 kB
[ebuild  N    ]  dev-libs/atk-1.24.0  USE="-debug -doc" 686 kB
[nomerge      ] x11-libs/libXrandr-1.2.3  USE="-debug"
[ebuild  N    ]  x11-proto/renderproto-0.9.3  53 kB
[nomerge      ] x11-libs/libXt-1.0.5  USE="-debug"
[ebuild  N    ]  x11-proto/kbproto-1.0.3  57 kB
[nomerge      ] x11-libs/gtk+-2.14.3-r2  USE="-X -cups -debug -doc -jpeg -jpeg2k -tiff -vim-syntax -xinerama"
[ebuild  N    ]  x11-proto/damageproto-1.1.0  41 kB
[nomerge      ] x11-libs/libSM-1.1.0  USE="ipv6 -debug"
[ebuild  N    ]  x11-libs/xtrans-1.2.2  USE="-debug" 99 kB
[nomerge      ] x11-libs/libXi-1.1.3  USE="-debug"
[nomerge      ]  x11-libs/libXext-1.0.4  USE="-debug"
[ebuild  N    ]   x11-proto/xextproto-7.0.3  70 kB
[ebuild  N    ]    x11-proto/inputproto-1.4.4  54 kB
[ebuild  N    ]   x11-proto/xproto-7.0.13  10 kB



Reproducible: Always

Steps to Reproduce:
1. USE="-X -gtk -gnome etc.". No need for X-related stuff for server
2. emerge rrdtool
Comment 1 Nikolay S. Rybaloff 2008-10-14 08:30:44 UTC
Created attachment 168376 [details]
emerge --info
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2008-10-14 11:07:09 UTC
This seems to be a change in cairo-1.8.0. Nikolay, please, use cairo-1.6.x at the moment.

@cairo-maintainers: Guys, seems that cairo needs librsvg only for testing and is not required for building. Could you, please, check and remove that unnecessary dependencies? At least personally I've removed gtk+ and librsvg from svg? ( ) in DEPEND in cairo-1.8.0 and it built with
   SVG:           yes

in configure summary and I've managed to build rrdtool later.


Specific sniplet from configure.ac for cairo-1.8.0:

test_svg=no
if test "x$use_svg" = "xyes"; then
  librsvg_DEPENDENCY="librsvg-2.0 >= $LIBRSVG_VERSION_REQUIRED"
  PKG_CHECK_MODULES(LIBRSVG, $librsvg_DEPENDENCY gdk-2.0,
                    [CAIRO_CHECK_FUNCS_WITH_FLAGS(rsvg_pixbuf_from_file, [$LIBRSVG_CFLAGS], [$LIBRSVG_LIBS],
                    [test_svg=yes],
                    [AC_MSG_RESULT(no); test_svg="no (requires $librsvg_DEPENDENCY)"])],
                    [AC_MSG_RESULT(no); test_svg="no (requires $librsvg_DEPENDENCY)"])
  if test "x$test_svg" = "xyes"; then
    AC_DEFINE([CAIRO_CAN_TEST_SVG_SURFACE], 1, [Define to 1 if the SVG backend can be tested])
  else
    AC_MSG_WARN([SVG backend will not be tested since librsvg >= $LIBRSVG_VERSION_REQUIRED is not available])
  fi

Note this all checks are for test_svg and they don't disable/required for svg backend.


Another possiblity is to add test? ( librsbg gtk+ ). But then notice comment:

# Test causes a circular depend on gtk+... since gtk+ needs cairo but test
# needs gtk+ so we need to block it
RESTRICT="test"

And later you add gtk+. How do you avoid circular dependency in this case?

Thanks in advance.
Comment 3 Nikolay S. Rybaloff 2008-10-14 11:51:38 UTC
With cairo-1.8.0 hardmasked, dependency for pango-1.22.0 is also broken (>=x11-libs/cairo-1.7.6)
Comment 4 Mart Raudsepp gentoo-dev 2008-10-14 13:33:09 UTC
(In reply to comment #3)
> With cairo-1.8.0 hardmasked, dependency for pango-1.22.0 is also broken
> (>=x11-libs/cairo-1.7.6)

cairo-1.8 is NOT hardmasked.
Comment 5 Doug Goldstein (RETIRED) gentoo-dev 2008-10-14 13:36:44 UTC
(In reply to comment #2)
<snip>

Very aware of how it works. Unfortunately while I was on my honeymoon someone added cairo 1.8.0 with all of it's test depends in the regular depends section and I just didn't scrub them all out when I got back..

Comment 6 Mart Raudsepp gentoo-dev 2008-10-14 13:59:35 UTC
I have scrubbed them out on Doug's request. Apparently he already marked this one fixed too :)
Comment 7 Doug Goldstein (RETIRED) gentoo-dev 2008-10-15 13:17:57 UTC
*** Bug 241854 has been marked as a duplicate of this bug. ***