Bug 9131

Summary: Is it poppler which depends on cairo or cairo on poppler?!
Product: poppler Reporter: Alexis Wilke <alexis>
Component: cairo backendAssignee: poppler-bugs <poppler-bugs>
Status: RESOLVED NOTABUG QA Contact:
Severity: minor    
Priority: high CC: bsiegert, cworth
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Alexis Wilke 2006-11-22 21:56:51 UTC
I have a problem here... Should I first compile cairo, then coppler, but then
cairo will have no PDF support?! If I do it the other way around, then poppler
has no cairo backend!!!

I need to have poppler in cairo to compile the Gtk+, but I also would like to
have the cairo backend. Do I need to compile one or the other twice so they get
build 100%?!

Another way to do things (my prefered way so I had to suggest it 8-) would be to
separate the cairo backend so I can compile poppler, cairo and finally the
poppler cairo backend.

Or is that a cairo problem instead?
Comment 1 Alexis Wilke 2006-11-24 18:16:11 UTC
Ha! Today I removed the gtk .zip files and I could not compile poppler anymore.
This is because poppler says "glib support" actually meaning "gtk+".

In effect his means quiet many circular dependencies. This may be new because
gtk needs poppler so it could be a new circular dependency.

Now I understand we can compile poppler/* by itself, but it's kind of weird. It
could be worth considering better tests in the configure script to know whether
we can create all of these modules... (like with a command like: 'pkg-config
--cflags gtk-2.0 > 2.6').

It may be difficult for you to test such an environment? If so I can certainly
help in improving the configure script so it doesn't generate glib, splash,
cairo, etc. unless you have these libraries.

Alexis Wilke
Comment 2 Carl Worth 2006-11-27 11:17:08 UTC
Hi Alexis,

I think there may be some confusion here. There should be no hard circular
dependency here. If poppler is not present, then cairo should still build just
fine, and should still have its PDF backend. The only thing that should be
missing in this situation is that cairo's PDF backend won't get tested by
cairo's test suite, (which doesn't even get run unless you do "make test").

Does that explain things better? Do you have any suggestion for anything we
could do to cairo to make this situation more clear? (Such as carification for a
particular README or error message that may have led you astray.)

Thanks,

-Carl

PS. Have fun with cairo.
Comment 3 Carl Worth 2006-11-27 11:22:32 UTC
To clarify. I said:

>                                       There should be no hard circular
> dependency here. If poppler is not present, then cairo should still build just
> fine, and should still have its PDF backend. The only thing that should be
> missing in this situation is that cairo's PDF backend won't get tested by
> cairo's test suite, (which doesn't even get run unless you do "make test").

The word "should" appears 3 times in the above. That's how the sysetm is
intended to work, and what we've attempted to implement. If reality happens to
differ, then that's a bug. Just let us know the details and we'll be happy to
fix it.

-Carl
Comment 4 Chris Wilson 2009-01-02 09:14:00 UTC
As Carl pointed out, cairo does not depend upon poppler for its PDF output. However, cairo does use poppler, if available, in its test suite.

So the build order is expected to be something like (making the assumption of a typical linux build):
freetype
fontconfig
pixman
cairo
glib
gtk+
poppler

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.