control: forcemerge 872727 -1 On 2017-06-21 20:48, Mikulas Patocka wrote: > 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 <stdio.h> > #include <stdlib.h> > #include <openssl/ssl.h> > > 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 0x0000000000000000 in ?? () > #1 0x00000000006296c6 in __register_frame_info.part.4 () > #2 0x00000000004017fd in frame_dummy () > #3 0x000000000058c2d7 in __libc_csu_init () > #4 0x000000000058b95b in generic_start_main () > #5 0x000000000058bc3e in __libc_start_main () > #6 0x000000000040172a in _start () > > * What outcome did you expect instead? > > The compiled program should work.
This is an upstream issue, due to two changes: 1) libssl is now linked with pthread 2) libssl now try to run getaddrinfo or gethostbyname This trigger the following bug: https://sourceware.org/bugzilla/show_bug.cgi?id=21975 As a workaround you might want to link your binary against libssl1.0 instead and without -pthread. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net