Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 5 Aug 2016 16:26:05 -0700
From: Khem Raj <>
Subject: Re: ./configure errors witn musl-gcc (zlib library conflict
 when building openssh)

On 16-08-05 18:32:14, Assaf Gordon wrote:
> Hello,
> I'm trying to build openssh on Ubuntu with musl-gcc, and encountered a problem during "./configure" due to required library (zlib) which causes conflicts between the system's glibc and musl-libc.
> There is probably a simple solution, but I couldn't find one.
> The system is Ubuntu 14.04 LTS, gcc 4.8.4.
> musl is 1.1.15 built from source, installed to /usr/local/musl .
> First, I build zlib using musl-gcc:
>      wget
>      tar -xf zlib-1.2.8.tar.gz
>      cd zlib-1.2.8
>      CC=musl-gcc ./configure
>      make
> This works well (note I did not install it with 'sudo make install').
> Second, I try to build openssh:
>     git clone
>     cd openssh-portable
>     autoreconf -if
>     CC=musl-gcc ./configure --without-stackprotect --with-zlib=/home/ubuntu/sources/zlib-1.2.8

I think you need to point it to a staged install of zlib, so may be run make DESTDIR="some/location" install
when building zlib

> But this fails with:
>     checking zlib.h usability... yes
>     checking zlib.h presence... yes
>     checking for zlib.h... yes
>     checking for deflate in -lz... yes
>     checking for possibly buggy zlib... yes
>     configure: error: *** zlib too old - check config.log ***
>     Your reported zlib version has known security problems.  It's possible your
>     vendor has fixed these problems without changing the version number.  If you
>     are sure this is the case, you can disable the check by running
>     "./configure --without-zlib-version-check".
>     If you are in doubt, upgrade zlib to version 1.2.3 or greater.
>     See for details.
> The problem is not that zlib is "too old", but that the wrong shard-object is used (it uses the system's one).
> From config.log:
>     configure:9002: checking for possibly buggy zlib
>     configure:9041: musl-gcc -o conftest -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -I/home/ubuntu/sources/zlib-1.2.8  -L/home/ubuntu/sources/zlib-1.2.8  -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack conftest.c -lz  >&5
>     configure:9041: $? = 0
>     configure:9041: ./conftest
>     Error relocating /lib/x86_64-linux-gnu/ __snprintf_chk: symbol not found
>     Error relocating /lib/x86_64-linux-gnu/ __vsnprintf_chk: symbol not found
>     configure:9041: $? = 127
>     configure: program exited with status 127
> If I try to force LD_LIBRARY_PATH, this messes up the entire compilation:
>     $ export LD_LIBRARY_PATH="/home/ubuntu/sources/zlib-1.2.8:$LD_LIBRARY_PATH"
>     $ CC=musl-gcc ./configure --without-stackprotect --with-zlib=/home/ubuntu/sources/zlib-1.2.8
>     checking for gcc... musl-gcc
>     checking whether the C compiler works... no
>     configure: error: in `/home/ubuntu/openssh-portable':
>     configure: error: C compiler cannot create executables
>     See `config.log' for more details
> From 'config.log':
>     configure:2963: checking whether the C compiler works
>     configure:2985: musl-gcc    conftest.c  >&5
>     /usr/lib/gcc/x86_64-linux-gnu/4.8/cc1: error while loading shared libraries: /usr/lib/x86_64-linux-gnu/ invalid ELF header
>     configure:2989: $? = 1
>     configure:3027: result: no
> As an alternative I also tried installing zlib in /usr/local/musl/lib - but it gives the same kind of erros once LD_LIBRARY_PATH is modified.
> Any suggestions are very welcomed,
> thanks,
>  - assaf

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.