+++ Mathieu Malaterre [2014-11-06 18:10 +0100]: > [CC me please] > > I am trying to make CharLS a true multiarch capable package. However I > fail to understand what I did wrong. > > Steps: > $ apt-get source charls > $ cd charls-1.0 > $ vim debian/control > -> mark libcharls-dev as `Multi-Arch: foreign` and libcharls1 as > `Multi-Arch: same`
In general -dev packages should be :same, along with the library packages, then -dev packages for build and host arches can be co-installed for cross-compiling. I know the docs are out of date on this point, but please do both unless it is difficult for some reason. > Build on both amd64 and i386: > > $ dpkg -I libcharls1_1.0-5_amd64.deb | grep same > Multi-Arch: same > $ dpkg -I libcharls1_1.0-5_i386.deb | grep same > Multi-Arch: same > > shared lib are using proper multiarch paths: > > $ dpkg -c libcharls1_1.0-5_amd64.deb > drwxr-xr-x root/root 0 2014-11-06 17:53 ./ > drwxr-xr-x root/root 0 2014-11-06 17:53 ./usr/ > drwxr-xr-x root/root 0 2014-11-06 17:53 ./usr/share/ > drwxr-xr-x root/root 0 2014-11-06 17:53 ./usr/share/doc/ > drwxr-xr-x root/root 0 2014-11-06 17:53 ./usr/share/doc/libcharls1/ > -rw-r--r-- root/root 750 2014-11-06 16:23 > ./usr/share/doc/libcharls1/changelog.Debian.gz > -rw-r--r-- root/root 1860 2014-11-06 16:23 > ./usr/share/doc/libcharls1/copyright > drwxr-xr-x root/root 0 2014-11-06 17:53 ./usr/lib/ > drwxr-xr-x root/root 0 2014-11-06 17:53 ./usr/lib/x86_64-linux-gnu/ > -rw-r--r-- root/root 198824 2014-11-06 17:53 > ./usr/lib/x86_64-linux-gnu/libCharLS.so.1.0 > lrwxrwxrwx root/root 0 2014-11-06 17:53 > ./usr/lib/x86_64-linux-gnu/libCharLS.so.1 -> libCharLS.so.1.0 > > and: > > $ dpkg -c libcharls1_1.0-5_i386.deb > drwxr-xr-x root/root 0 2014-11-06 17:54 ./ > drwxr-xr-x root/root 0 2014-11-06 17:54 ./usr/ > drwxr-xr-x root/root 0 2014-11-06 17:54 ./usr/share/ > drwxr-xr-x root/root 0 2014-11-06 17:54 ./usr/share/doc/ > drwxr-xr-x root/root 0 2014-11-06 17:54 ./usr/share/doc/libcharls1/ > -rw-r--r-- root/root 750 2014-11-06 16:23 > ./usr/share/doc/libcharls1/changelog.Debian.gz > -rw-r--r-- root/root 1860 2014-11-06 16:23 > ./usr/share/doc/libcharls1/copyright > drwxr-xr-x root/root 0 2014-11-06 17:54 ./usr/lib/ > drwxr-xr-x root/root 0 2014-11-06 17:54 ./usr/lib/i386-linux-gnu/ > -rw-r--r-- root/root 198060 2014-11-06 17:54 > ./usr/lib/i386-linux-gnu/libCharLS.so.1.0 > lrwxrwxrwx root/root 0 2014-11-06 17:54 > ./usr/lib/i386-linux-gnu/libCharLS.so.1 -> libCharLS.so.1.0 > > > Install: > > $ sudo dpkg -i libcharls1_1.0-5_amd64.deb libcharls1_1.0-5_i386.deb > (Reading database ... 252480 files and directories currently installed.) > Preparing to unpack libcharls1_1.0-5_amd64.deb ... > Unpacking libcharls1:amd64 (1.0-5) over (1.0-5) ... > Preparing to unpack libcharls1_1.0-5_i386.deb ... > Unpacking libcharls1:i386 (1.0-5) over (1.0-5) ... > Setting up libcharls1:amd64 (1.0-5) ... > Setting up libcharls1:i386 (1.0-5) ... > Processing triggers for libc-bin (2.19-12) ... > > But then: > > $ sudo apt-get upgrade > Reading package lists... Done > Building dependency tree > Reading state information... Done > You might want to run 'apt-get -f install' to correct these. > The following packages have unmet dependencies: > libcharls1:i386 : Conflicts: libcharls1 but 1.0-5 is installed > E: Unmet dependencies. Try using -f. I presume you are on an amd64 box? It's not obvious what's wrong there. Is your package available somewhere to look at? > How do I get a detailed diagnosis of the conflicting files ? Good question. I usually use aptitude but it's not great for multiarch issues. does apt-get -f install help? Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: https://lists.debian.org/[email protected]

