[contrib][http language filter] Change position of libstdc++ library when linking ICU tools #37060
Check was skipped
This check was not triggered in this CI run
Details
Request (pr/37060/main@03eb9a7)
@krinkinmu 03eb9a7
#37060 merge
main@522c94a
[contrib][http language filter] Change position of libstdc++ library when linking ICU tools
Commit Message:
Clang and gcc are subtly different and it seems to be the cause of contrib build failures reported in
#31807 (e.g., when using gcc to link the final binary it results in a bunch of essential for gcc C++ symbols like __gxx_personality_v0).The issue appear to be the order of the libraries when linking. gcc, when building statically linked binaries basically needs libstdc++ to be the last library or alsmot the last library in the command line. And clang does not appear to care about it much.
This change provides libstdc++ library in LIBS environment variabe which will put it in the right position when building the ICU library. This works well for both clang and gcc.
Additional Description:
It address the issue reported in #31807, though by itseld this change is not enough to make gcc builds work - a few more changes are needed.
Risk Level: Low
Testing: built with--config=gcc
and--config=docker-gcc
and checked that //contrib/language/filters/http/test:language_config_test pass after the change.
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A
Environment
Request variables
Key | Value |
---|---|
ref | 0f2c2a7 |
sha | 03eb9a7 |
pr | 37060 |
base-sha | 522c94a |
actor | @krinkinmu |
message | [contrib][http language filter] Change position of libstdc++ library when linking ICU tools... |
started | 1731065941.83075 |
target-branch | main |
trusted | false |
Build image
Container image/s (as used in this CI run)
Key | Value |
---|---|
default | envoyproxy/envoy-build-ubuntu:f94a38f62220a2b017878b790b6ea98a0f6c5f9c |
mobile | envoyproxy/envoy-build-ubuntu:mobile-f94a38f62220a2b017878b790b6ea98a0f6c5f9c |
Version
Envoy version (as used in this CI run)
Key | Value |
---|---|
major | 1 |
minor | 33 |
patch | 0 |
dev | true |