On Wed, Mar 23, 2011 at 11:02:59AM +0000, Simon McVittie wrote: > On Wed, 23 Mar 2011 at 03:05:53 +0000, Wookey wrote: > > To make multiarch useful for cross-building as well as co-installation of > > libraries we need to install headers to /usr/include/<triplet>, which > > needs an FHS exception.
> Some libraries (notably GLib and D-Bus) already isolate their arch-specific
> headers into a subdirectory of /usr/lib:
> % dpkg -L libglib2.0-dev
> ...
> /usr/lib/glib-2.0/include/glibconfig.h <-- arch-dep (typedefs etc.)
> ...
> /usr/include/glib-2.0/glib/gslice.h <-- identical on every arch
> ...
> The pkg-config files then cause CFLAGS to contain both
> -I/usr/lib/glib-2.0/include and -I/usr/include/glib-2.0.
> Under multiarch, glibconfig.h would presumably move to
> /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h or whatever, along
> with the rest of the contents of ${libdir}.
<nod>
> Assuming you're not allowed to have, say, libglib2.0-dev:amd64 (= 2.28.0)
> and libglib2.0-dev:armel (= 2.26.0) installed at the same time,
Yep, dpkg enforces multiarch packages to be at the same version when
configured.
> these packages could be handled via the existing special cases intended
> for /usr/share/doc (identical files getting refcounted).
I wouldn't say this is intended for /usr/share/doc... actually, header
files were explicitly taken into account in
<https://wiki.ubuntu.com/MultiarchSpec> as a relevant use case for reference
counting. :)
> Making this work right would require pkg-config to look in multiarch locations
> for the (current or cross) architecture; see
> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=590992> and
> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482884>.
Yep. Thanks for reminding me of bug #482884, I'd completely forgotten that
this report was open!
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
[email protected] [email protected]
signature.asc
Description: Digital signature

