cloudflare / quiche

šŸ„§ Savoury implementation of the QUIC transport protocol and HTTP/3
https://docs.quic.tech/quiche/
BSD 2-Clause "Simplified" License
9.25k stars 698 forks source link

nginx quic build fail #1045

Open ak47for opened 2 years ago

ak47for commented 2 years ago

rustc 1.55.0 (c8dfcfe04 2021-09-06) cargo 1.55.0 (32da73ab1 2021-08-23)

objs/src/http/modules/ngx_http_upstream_keepalive_module.o \ objs/src/http/modules/ngx_http_upstream_zone_module.o \ objs/ngx_modules.o \ -ldl -lpthread -lcrypt -lpcre ../quiche/deps/boringssl/.openssl/lib/libssl.a ../quiche/deps/boringssl/.openssl/lib/libcrypto.a -ldl -lpthread ../quiche/target/release/libquiche.a -lpthread -lm -lz \ -Wl,-E /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_asn1.cc.o): relocation R_X86_64_32 against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_cert.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_cipher.cc.o): relocation R_X86_64_32 against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_key_share.cc.o): relocation R_X86_64_32 against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_lib.cc.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_privkey.cc.o): relocation R_X86_64_32 against.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_session.cc.o): relocation R_X86_64_32 against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_versions.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_x509.cc.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(tls13_client.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(encrypted_client_hello.cc.o): relocation R_X86_64_32S against .rodata._ZSt9__find_ifIPKhN9__gnu_cxx5__ops16_Iter_equals_valIKcEEET_S7_S7_T0_St26random_access_iterator_tag' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(extensions.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(handshake.cc.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(handshake_client.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(handshake_server.cc.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(ssl_buffer.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(tls13_server.cc.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../quiche/deps/boringssl/.openssl/lib/libssl.a(tls_record.cc.o): relocation R_X86_64_32S against.rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: error: ld returned 1 exit status objs/Makefile:260: recipe for target 'objs/nginx' failed make[1]: [objs/nginx] Error 1 make[1]: Leaving directory '/data00/longzhi/code/cloudflare_quic/nginx-1.16.1' Makefile:8: recipe for target 'build' failed make: [build] Error 2

arch-user-france1 commented 2 years ago

Please edit your output and say GitHub that it's code It annoys people that want to read it

psionic12 commented 2 years ago

Off-topic here, but Nginx has released a pre-reveiw version which support http3 (and quiche as well) well, you may try that.

arch-user-france1 commented 2 years ago

Stealth

muuvmuuv commented 2 years ago

@psionic12 Where?

Ryenum commented 9 months ago

Hello, I encountered some problems when configuring the quic service of NGINX. My configuration is the same as that of the official website, but I still cannot use the quic protocol when accessing the server. The h2 protocol is still used. Here is my compilation information: nginx version: nginx/1.16.1 (quiche-83d9168a) built by gcc 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) built with OpenSSL 1.1.1 (compatible; BoringSSL) (running with BoringSSL) TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --build=quiche-83d9168a --with-http_v3_module --with-http_v2_module --with-quiche=/quiche --with-http_ssl_module --with-openssl=/quiche/quiche/deps/boringssl --add-module=/connect