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: