Date: Fri, 5 Aug 2016 18:32:14 -0400 From: Assaf Gordon <assafgordon@...il.com> To: musl@...ts.openwall.com Subject: ./configure errors witn musl-gcc (zlib library conflict when building openssh) 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 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.