NGINX "--with-zlib=..." linker error

Fabiano Furtado Pessoa Coelho fusca14 at gmail.com
Mon Mar 28 19:32:05 UTC 2022


Hi...

I'm using https://nginx.org/packages/rhel/8/SRPMS/nginx-1.20.2-1.el8.ngx.src.rpm
to compile NGINX to RHEL 8.5, with "--with-openssl=/openssl_1_1_1n"
parameter in the "%define BASE_CONFIGURE_ARGS" .SPEC file, and it
works fine. The NGINX package is compiled without errors.

Now I want to add the "--with-zlib=/zlib_1_2_12" parameter, to compile
NGINX with the latest zlib version 1.2.12, and I get these linker
errors:

...
objs/ngx_modules.o \
-Wl,-z,relro -Wl,-z,now -pie -ldl -lpthread -lpthread -lcrypt -lpcre
/openssl_1_1_1n/.openssl/lib/libssl.a
/openssl_1_1_1n/.openssl/lib/libcrypto.a -ldl -lpthread
/zlib_1_2_12/libz.a \
-Wl,-E
/usr/bin/ld: /zlib_1_2_12/libz.a(deflate.o): relocation R_X86_64_32S
against symbol `_length_code' can not be used when making a PIE
object; recompile with -fPIC
/usr/bin/ld: /zlib_1_2_12/libz.a(inflate.o): relocation R_X86_64_32S
against symbol `zcfree' can not be used when making a PIE object;
recompile with -fPIC
/usr/bin/ld: /zlib_1_2_12/libz.a(inftrees.o): relocation R_X86_64_32S
against `.rodata' can not be used when making a PIE object; recompile
with -fPIC
/usr/bin/ld: /zlib_1_2_12/libz.a(trees.o): relocation R_X86_64_32S
against symbol `_length_code' can not be used when making a PIE
object; recompile with -fPIC
/usr/bin/ld: /zlib_1_2_12/libz.a(zutil.o): relocation R_X86_64_32
against `.rodata.str1.1' can not be used when making a PIE object;
recompile with -fPIC
/usr/bin/ld: /zlib_1_2_12/libz.a(crc32.o): relocation R_X86_64_32S
against `.rodata' can not be used when making a PIE object; recompile
with -fPIC
/usr/bin/ld: /zlib_1_2_12/libz.a(inffast.o): relocation R_X86_64_32S
against `.rodata.str1.1' can not be used when making a PIE object;
recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
...

Is there a solution for this linker issue?

Thanks in advance.



More information about the nginx mailing list