Bug#776841: libgnutls28-dev: please make libgnutls-dev package multi-arch

Michel Briand michelbriand at free.fr
Mon Feb 2 20:13:04 UTC 2015


Andreas Metzler <ametzler at bebt.de> - Mon, 2 Feb 2015 19:47:01 +0100

>On 2015-02-02 Michel Briand <michelbriand at free.fr> wrote:
>> Package: libgnutls28-dev
>> Version: 3.3.8-4~bpo70+1
>> Severity: important
>
>> package libgnutls28-dev:amd64 offers all required file to build an 
>> application with GnuTLS on Debian amd64 architecture.
>
>> Whereas libgnutls28-dev:i386 lacks some important files (libgnutls.a
>> and the link libgnutls.so).
>
>
>[...]
>>    * What exactly did you do (or not do) that was effective (or
>>      ineffective)?
>
>> gcc -m32
>
>>    * What was the outcome of this action?
>
>> Link fails:
>
>> /usr/bin/ld.bfd.real: cannot find -lgnutls
>
>>    * What outcome did you expect instead?
>
>> That the package libgnutls28-dev:i386 offers the same files as
>> libgnutls28-dev:amd64 :
>
>> ll /usr/lib/*/libgnutls.so
>> lrwxrwxrwx 1 root root 25 nov.  18
>> 22:27 /usr/lib/x86_64-linux-gnu/libgnutls.so ->
>> libgnutls-deb0.so.28.41.0
>
>> ll /usr/lib/*/libgnutls.a
>> -rw-r--r-- 1 root root 2435010 nov.  18
>> 22:27 /usr/lib/x86_64-linux-gnu/libgnutls.a
>[...]
>
>Hello Michel,
>
>I have just downloaded libgnutls28-dev_3.3.8-4~bpo70+1_i386.deb and
>libgnutls28-dev_3.3.8-4~bpo70+1_amd64.deb from debian to doublecheck
>that the package is ok an complete. Both amd64 and i386 contain the
>required files:
>====================================================================
>ametzler at argenau:/tmp$ debdiff
>libgnutls28-dev_3.3.8-4~bpo70+1_i386.deb
>libgnutls28-dev_3.3.8-4~bpo70+1_amd64.deb [The following lists of
>changes regard files as different if they have different names,
>permissions or owners.]
>
>Files in second .deb but not in first
>-------------------------------------
>-rw-r--r--  root/root   /usr/lib/x86_64-linux-gnu/libgnutls.a
>-rw-r--r--  root/root   /usr/lib/x86_64-linux-gnu/libgnutlsxx.a
>-rw-r--r--  root/root   /usr/lib/x86_64-linux-gnu/pkgconfig/gnutls.pc
>lrwxrwxrwx  root/root   /usr/lib/x86_64-linux-gnu/libgnutls.so ->
>libgnutls-deb0.so.28.41.0 lrwxrwxrwx
>root/root   /usr/lib/x86_64-linux-gnu/libgnutlsxx.so ->
>libgnutlsxx.so.28.1.0
>
>Files in first .deb but not in second
>-------------------------------------
>-rw-r--r--  root/root   /usr/lib/i386-linux-gnu/libgnutls.a
>-rw-r--r--  root/root   /usr/lib/i386-linux-gnu/libgnutlsxx.a
>-rw-r--r--  root/root   /usr/lib/i386-linux-gnu/pkgconfig/gnutls.pc
>lrwxrwxrwx  root/root   /usr/lib/i386-linux-gnu/libgnutls.so ->
>libgnutls-deb0.so.28.41.0 lrwxrwxrwx
>root/root   /usr/lib/i386-linux-gnu/libgnutlsxx.so ->
>libgnutlsxx.so.28.1.0
>
>Control files: lines which differ (wdiff format)
>------------------------------------------------
>Architecture: [-i386-] {+amd64+}
>Installed-Size: [-2324-] {+2824+}
>====================================================================
>
>cu Andreas

Hello Andreas,

yes I agree.

I didn't looked into libgnutls28-dev:i386 file list because I can't
install it along the amd64 version.

apt-get install libgnutls28-dev:i386

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer
required: libgnutlsxx28 libtasn1-doc
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libc++-dev:i386 libc++-helpers libc++1:i386 libgmp-dev:i386
libgmpxx4ldbl:i386 libgnutlsxx28:i386 libp11-kit-dev:i386
libtasn1-6-dev:i386 nettle-dev:i386 zlib1g-dev:i386 Suggested packages:
clang:i386 libgmp10-doc:i386 libmpfr-dev:i386 guile-gnutls:i386
Recommended packages: libstdc++-dev:i386 libtasn1-doc:i386
The following packages will be REMOVED:
  libgnutls28-dev libp11-kit-dev libtasn1-6-dev nettle-dev
The following NEW packages will be installed:
  libc++-dev:i386 libc++-helpers libc++1:i386 libgmp-dev:i386
libgmpxx4ldbl:i386 libgnutls28-dev:i386 libgnutlsxx28:i386
libp11-kit-dev:i386 libtasn1-6-dev:i386 nettle-dev:i386 zlib1g-dev:i386
0 upgraded, 11 newly installed, 4 to remove and 125 not upgraded. Need
to get 3,594 kB of archives. After this operation, 8,152 kB of
additional disk space will be used. Do you want to continue [Y/n]? n
Abort.


It seems that packages are mutually exclusive. It's a blocker for me.

I don't understand why the -dev package is specific to the architecture.

I'd like to note that I can use Qt 4 to produce both amd64 and i386.
I've installed libqt4-dev and both architecture dependent packages:
libqtcore4:amd64 libqtcore4:i386. And everything is fine to build my
application both for Debian amd64 and i386....

How can we go on with that ?

Regards,
Michel



More information about the Pkg-gnutls-maint mailing list