Bug 518881
Summary: | mapnik doesn't seem to be linking to agg correctly | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Kevin Fenzi <kevin> |
Component: | mapnik | Assignee: | Christopher Brown <chris.brown> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | caolanm, chris.brown, cristian.balint, tcallawa |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-09-12 20:15:33 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Attachments: |
Description
Kevin Fenzi
2009-08-23 20:20:44 UTC
Hi Kevin, Am away at the moment and Cristian appears non-responsive. I will get this resolved but it might be at least a week until that happens. Alex might want to have a poke - I think this is just the external agg variable in the build which is wrong. Cheers couple of things here a) the generated mapnik.pc isn't right. -I${includedir}/%{name} needs to be escaped, otherwise expanded as a variable which isn't what you want. While we're at it, the .pc should capture that mapnik needs to be linked against agg2, best to use... # install pkgconfig file cat > %{name}.pc <<EOF prefix=%{_prefix} exec_prefix=%{_prefix} includedir=%{_includedir} Name: %{name} Description: Free Toolkit for developing mapping applications Version: %{version} Requires: libagg Libs: -lmapnik Cflags: -I\${includedir}/%{name} EOF that should do the right thing b) libmapnik doesn't explicitly link against libagg but does have symbols that needs libagg to be resolved. I'd guess that in src/SConscript -if env['INTERNAL_LIBAGG']: - libraries.insert(0, 'agg') +libraries.insert(0, 'agg') would do the right thing. i.e. we still want to link against agg, we just don't want to use the internal includes and lib. c) Then gpsdrive would ideally ask pkg-config for the right libs and includes to use. So three patches for these to be attached. Created attachment 360689 [details]
fix the .pc file
fix for the .pc file
Created attachment 360690 [details]
fix for mapnik to explicitly link against agg even in the non-internal case
Created attachment 360691 [details]
patch against gpsdrive to then use pkgconfig to get the right libs to link against
Fixes committed and built in rawhide (0.6.1-3): http://koji.fedoraproject.org/koji/taskinfo?taskID=1674047 Thanks Caolan. :) ~spot, provenpackager to the rescue. Ugh, thanks guys. Sorry for not getting to this sooner... |