Re: cairo, svg support, librsvg, and rrdtool 1.3.7 and higher
On 2009-07-21 09:47, Dagobert Michelsen wrote:
> Am 21.07.2009 um 02:47 schrieb Geoff Davis:
>> I've been rolling my own version of rrdtool 1.3.7 using the opencsw
>> libraries but another vendor supplied perl distribution. With the last
>> change to libcairo (r5356), the dependency on librsvg has been removed
>> to resolve a circular dependency. This has the side effect of
>> disabling support for SVG graphics (cairo_svg_surface_create) in Cairo.
>> Unfortunately, this means that rrdtool will not build. I have tried to
>> build a package out of GAR (which is currently using 1.3.8) and it
>> won't build either due to the lack of svg support in Cairo. I suspect
>> this issue will affect the maintainer of rrdtool the next time he
>> builds an RRDTool package.
> Ihsan, I guess we need to find a solution here (I mean "you", of course
>> This dependency order also has the side-effect of disabling cairo-svg
>> support in my hand rolled version of graphviz2.
> Putting SVG back in to Cairo would mean breaking the circular dependency
> on another
> edge producing other problems.
>> What's the best way to get around this issue, and what is the OpenCSW
>> plan for rrdtool? I see that Ubuntu Linux is still distributing
>> RRDTool 1.3.1 in the most recent releases (jaunty and karmic),
>> possibly due to this problem.
> Tobi, do you know how other distributions handle this?
Sorry for replying to such old stuff but I've been busy with little time for
OpenCSW the last 6 months and now I've jumpstarted again and found myself
digging into this mess again.
It seems that cairo doesn't need librsvg except for the testsuite, but I've
found some documentation on the net describing that the correct way to
install cairo and related libs (librsvg and poppler) is to install cairo,
then poppler and librsvg and then cairo again... Doh!
But if we take a look at how Ubuntu and CentOS has solved it, they both have
no dependencies on poppler and librsvg from libcairo, so I think that seems
to be a good way to do it.