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

Making a package multiarch (for real)



[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`

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.


How do I get a detailed diagnosis of the conflicting files ?


Reply to: