Summary: | Building cairo can trigger a circular dependency (cairo tests->pango->gtk+->cairo) causing build pain | ||
---|---|---|---|
Product: | cairo | Reporter: | Elijah Newren <newren> |
Component: | general | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | high | CC: | baptiste.millemathias |
Version: | 1.1.1 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Patch to track addition of cairo_surface_set_fallback_resolution |
Description
Elijah Newren
2006-06-10 13:04:59 UTC
Looks related to http://lists.freedesktop.org/archives/cairo/2006-May/006871.html Created attachment 5872 [details] [review] Patch to track addition of cairo_surface_set_fallback_resolution It's even more related to this from today: http://article.gmane.org/gmane.comp.lib.cairo/6924 [*] Anyway, this is a change only to API that has never appeared in a stable release of cairo, and I believe the calling GTK+ code has also not yet appeared in a stable release. I'll attach a patch to fix GTK+, and close this report as NOTOURBUG. -Carl [*] I would have given a link to that in the archives at cairographics.org, but stupid pipermail eats the message up: http://lists.freedesktop.org/archives/cairo/2006-June/007101.html As discussed above, this needs to be fixed in GTK+. -Carl http://bugzilla.gnome.org/show_bug.cgi?id=344512 exists about the needed gtk+ updates. As for cairo, since the cairo tests depend on gtk+ which in turn depend on cairo, this cyclic dependency will make it hard for many users to fix their build. Is there any easy way to detect this case and not build the tests? (or at least a simple configure switch that can be used to disable the tests? -- I manually edited Makefile.am to remove this cyclicness and get a working build again) Thanks for the clarification. I've clarified the bug title and reopened this. I've also just pushed out a change to cairo that should help with the current problem. What it does (for gcc >= 2 and elf-based systems at least) is provide the old symbol names in the cairo build so that the circular dependency will hopefully not lead to a build failure. But eliminating the circular dependency completely would be even better. The solution that I would like to see is that "make" should build cairo only, (no tests), so the ciruclar stuff would only show up when explicitly running the tests with "make check". I just haven't found the right automake magic to make that happen. If someone who knows more about that than me could take a look at this, that would be very appreciated. -Carl Behdad just fixed cairo's Makefiles so that "make check" will depend on things like poppler but that "make" never will. This should make it quite easy for anyone to avoid a circular dependency. Here's the commit of interest: http://gitweb.cairographics.org/?p=cairo;a=commit;h=72e7667ed904b93475d7e4540778c498aa781cdf -Carl Awesome, thanks! |
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.