Re: Statically linking against bundled libagg
Dominic Hargreaves <firstname.lastname@example.org> writes:
> Building and rudimentary testing against the agg 2.5 shipped with
> unstable works, however I have a couple of concerns which make me
> reluctant to change the build:
> When building against system agg, I get the lintian error:
> E: libmapnik0.5: shlib-with-non-pic-code usr/lib/libmapnik.so.0.5.0
> this does not occur when compiling mapnik's own agg library. I'm not
> sure what's happening here; does it indicate a mistake in the way the
> agg library was built to start with or the way I'm building mapnik?
It looks like libagg is only available as a static library and not as a
shared library? If so, to link it into a shared library, it must be built
position-independent (-fPIC) on almost every platform except i386. This
error message, if libagg isn't PIC on any architecture, will likely result
in FTBFS on many architectures, such as amd64.
Ideally, libagg should provide a shared library. Otherwise, any package
that links against the existing library would require a rebuild for any
security vulnerabilities in the library.
Policy 10.2 covers this somewhat.
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>