Date: Fri, 5 Aug 2016 16:26:05 -0700 From: Khem Raj <raj.khem@...il.com> To: musl@...ts.openwall.com 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 http://zlib.net/zlib-1.2.8.tar.gz > 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 https://github.com/openssh/openssh-portable > 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 http://www.gzip.org/zlib/ 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/libz.so.1: __snprintf_chk: symbol not found > Error relocating /lib/x86_64-linux-gnu/libz.so.1: __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/libc.so: 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.