Re: [PATCH 0/5] Add a script to check for Sphinx install requirements

From: Mauro Carvalho Chehab
Date: Mon Jul 17 2017 - 05:33:20 EST


Em Mon, 17 Jul 2017 10:15:26 +0200
Markus Heiser <markus.heiser@xxxxxxxxxxx> escreveu:

> > Am 17.07.2017 um 00:08 schrieb Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>:
> >
> > [1] There's an unrelated bug with the Kernel's sphinx extension
> > kimage: when parsing GraphViz graphs, it uses "-Tpdf" argument,
> > in order to generate a PDF image. That doesn't work on some
> > distros, as GraphViz doesn't support PDF images.
> >
>
> Hmm .. http://www.graphviz.org/content/output-formats#dpdf
>
> Is it a problem of the GraphViz version?
>
> See http://www.graphviz.org/News.php ..
>
> """New Release 2.32 (1 August 2013)
>
> ... In addition, if the poppler library is available, Graphviz
> can now use PDF files as images."""
>
> I suppose that 2.32 is in your distro .. it's from 2013

Fedora 26 is shipped with version 2.40:

$ rpm -q graphviz
graphviz-2.40.1-4.fc26.x86_64

Yet:

$ dot -Thelp|grep pdf
Format: "help" not recognized. Use one of: canon cmap cmapx cmapx_np dot dot_json eps fig gv imap imap_np ismap json json0 mp pic plain plain-ext pov ps ps2 svg svgz tk vdx vml vmlz xdot xdot1.2 xdot1.4 xdot_json

I actually noticed this issue first on OpenSuse, where GraphViz is
packaged on several packages, but I was unable to find one package
there with pdf suport. I'm pretty sure pdf used to work on F25.

>
> It seems, that the graphiz homepage is not up to date. I found
> the repo at github. There is a issue about PDF
>
> https://github.com/ellson/graphviz/issues/1180
>
> So I guess graphviz is compiled without HAVE_PANGOCAIRO in your
> distros?


>From Fedora source package, it is requiring both cairo and pango:

BuildRequires: cairo-devel >= 1.1.10, pango-devel, gmp-devel, lua-devel, gtk2-devel, libgnomeui-devel

Building it gets:

checking for PANGOCAIRO... yes

Still, no PDF support. I'll try to investigate it further, as I
found myself useful to produce PDF directly from GraphViz.

Anyway, I guess we should modify kfigure.py to check if PDF is
available, falling back to SVG, using ImageMagick to convert
from SVG to PDF.


Thanks,
Mauro