[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problems converting a library to Multi-Arch



Hi Steve,

On Feb 20, 2012, at 10:44 PM, Steve Langasek wrote:

> The problem here is that you're using dh_install to move the runtime
> libraries from /usr/lib (where the upstream rules install them) to the
> multiarch directory, but you aren't updating the contents of libz80ex-dev at
> all for multiarch.  This means that libz80ex-dev is shipping
> /usr/lib/libz80ex.so as a dangling symlink, since the contents of libz80ex1
> have been moved out from under it.

Ok, understood and I see the dangling links.

Do I understand correctly that despite the package being Multi-Arch, there
will still be symbolic links in /usr/lib pointing to the native versions of the
.so files to /usr/lib/${DEB_HOST_MULTIARCH} in order for the -dev package
to work properly or is it just a matter of a Multi-Arch compatible toolchain
in order to get the package to build with the .so files all located in
/usr/lib/${DEB_HOST_MULTIARCH}?

Or to put it short: Once we have a fully Multi-Arch compatible toolchain,
do we still need any .so files directly in /usr/lib?

> However, you've probably noticed that the wiki page you've referenced,
> <http://wiki.debian.org/Multiarch/Implementation>, doesn't provide any
> guidance on how to do this for cmake.  If there is a standard way to set
> target library directories with cmake, I don't know what it is.  Perhaps you
> or someone else on the list who's familiar with cmake can work that out and
> provide recommendations on the wiki page.

Ah, ok, thanks for pointing that out. I know someone who is a KDE developer,
he knows cmake quite well as it used there as the primary build system. I'l
ask him.

> Barring a general cmake solution, you at least need to make sure the -dev
> symlinks point to the multiarch runtime directory; and you might as well
> install the -dev files in /usr/lib/${DEB_HOST_MULTIARCH} instead of /usr/lib
> as well, since a) the toolchain knows to look for them there, b) this moves
> the -dev package itself farther along towards being Multi-Arch: same, c)
> it's more maintainable to move the .so symlink in the .install file than it
> is to update the target of the symlink.

Got it, thanks!

Adrian

Reply to: