Bug#865429: libc6-dev-i386: gcc-multilib should not be recommended

2017-06-21 Thread Vincent Lefevre
Package: libc6-dev-i386
Version: 2.24-12
Severity: normal

The libc6-dev-i386 package has:

  Recommends: gcc-multilib

But recommended packages are installed by default, and the above
"Recommends:" is too strong as gcc-multilib is not the only way to
use libc6-dev-i386.

The issue is that installing *any* compiler that depends on
libc6-dev-i386 will have the effect to install the default GCC,
introducing a potential redundancy.

An example:

zira:~> aptitude why gcc-6-multilib
i   gcc-snapshot   Dependslibc6-dev-i386 (>= 2.11)
i A libc6-dev-i386 Recommends gcc-multilib
i A gcc-multilib   Dependsgcc-6-multilib (>= 6.3.0-9~)

But that would be also true for gcc-5-multilib, which depends on
libc6-dev-i386.

The "Recommends:" would make sense only if gcc-multilib were a
virtual package provided by compilers that depend on libc6-dev-i386.
But this is not the case here.

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), 
(500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=POSIX 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libc6-dev-i386 depends on:
ii  libc6-dev   2.24-12
ii  libc6-i386  2.24-12

Versions of packages libc6-dev-i386 recommends:
ii  gcc-multilib  4:6.3.0-4

libc6-dev-i386 suggests no packages.

-- no debconf information



Bug#865469: libc6-dev: a program crashes if it is statically linked against OpenSSL

2017-06-21 Thread Mikulas Patocka
Package: libc6-dev
Severity: normal

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?

Programs can't be statically linked against OpenSSL in Debian Stretch.

   * What exactly did you do (or not do) that was effective (or
 ineffective)?

Try to compile this program with this command:
gcc -static hello.c -lssl -lcrypto -ldl -pthread

#include 
#include 
#include 

int main(void)
{
OpenSSL_add_ssl_algorithms();
printf("Hello World!\n");
return 0;
}

   * What was the outcome of this action?

If you run the statically linked program, you get a crash in glibc startup
code:
#0  0x in ?? ()
#1  0x006296c6 in __register_frame_info.part.4 ()
#2  0x004017fd in frame_dummy ()
#3  0x0058c2d7 in __libc_csu_init ()
#4  0x0058b95b in generic_start_main ()
#5  0x0058bc3e in __libc_start_main ()
#6  0x0040172a in _start ()

   * What outcome did you expect instead?

The compiled program should work.



-- System Information:
Debian Release: 9.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.72 (SMP w/12 CPU cores; PREEMPT)
Locale: LANG=cs_CZ.utf8, LC_CTYPE=cs_CZ.utf8 (charmap=UTF-8), 
LANGUAGE=cs_CZ.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)