Comments (10)
Ahh you're right, I missed reverting my troubleshooting changes, and have added --build_tag_filters=-nofips
back
This works now ๐
Thanks for your help @phlax
from envoy.
@Jayden-Lind #32901 was added to smooth the path to updating llvm
im guessing that the issue is related to the llvm version that you are using
are you using the Envoy build container (ie ./ci/run_envoy_docker.sh
) ? That would ensure you have the correct versions
from envoy.
Thanks @phlax, I am, this is the command I'm running ci/run_envoy_docker.sh ci/do_ci.sh release.server_only
from envoy.
ok - so not compiler version in that case
trying to understand why this issue is affecting your build and not our CI
we could potentially backport the fPIC flag - but i think it should not be necessary
we test this in our CI using the compile_time_options
target rather than the release
target
probably worth testing adding --config=compile-time-options
as that should provide most of the same bazel flags
from envoy.
Thanks @phlax
Current setup
BAZEL_BUILD_EXTRA_OPTIONS: "--define boringssl=fips --verbose_failures --show_progress --local_ram_resources=HOST_RAM*0.90 --config=compile-time-options"
BAZEL_EXTRA_TEST_OPTIONS: "--test_tag_filters=-nofips --test_env=ENVOY_IP_TEST_VERSIONS=v4only --local_ram_resources=HOST_RAM*0.90"
./ci/run_envoy_docker.sh ./ci/do_ci.sh release.server_only
Error message I now get on v1.29.3
ERROR: /source/contrib/qat/compression/qatzip/compressor/source/BUILD:17:15: Foreign Cc - Configure: Building qatzip failed: (Exit 2): bash failed: error executing command (from target //contrib/qat/compression/qatzip/compressor/source:qatzip)
(cd /build/bazel_root/base/sandbox/processwrapper-sandbox/6776/execroot/envoy && \
exec env - \
BAZEL_COMPILER=clang \
BAZEL_CXXOPTS='-stdlib=libc++' \
BAZEL_LINKLIBS=-l%:libc++.a:-l%:libc++abi.a \
BAZEL_LINKOPTS=-lm:-pthread \
CC=clang \
CXX=clang++ \
CXXFLAGS='-stdlib=libc++' \
LDFLAGS='-stdlib=libc++' \
LLVM_CONFIG=/opt/llvm/bin/llvm-config \
PATH=/opt/llvm/bin:/opt/llvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin \
/bin/bash -c bazel-out/k8-opt/bin/contrib/qat/compression/qatzip/compressor/source/qatzip_foreign_cc/wrapper_build_script.sh)
# Configuration: cab6da5920fc21644abbc4db03292404922deb4fbc440b1843d98b468d0bcd4c
# Execution platform: @local_config_platform//:host
...
ld.lld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in /build/bazel_root/base/sandbox/processwrapper-sandbox/6776/execroot/envoy/bazel-out/k8-opt/bin/external/boringssl_fips/crypto/libcrypto.a(cpu-intel.c.o)
>>> referenced by cpu-intel.c:133 (../crypto/cpu-intel.c:133)
>>> cpu-intel.c.o:(handle_cpu_env) in archive /build/bazel_root/base/sandbox/processwrapper-sandbox/6776/execroot/envoy/bazel-out/k8-opt/bin/external/boringssl_fips/crypto/libcrypto.a
ld.lld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in /build/bazel_root/base/sandbox/processwrapper-sandbox/6776/execroot/envoy/bazel-out/k8-opt/bin/external/boringssl_fips/crypto/libcrypto.a(cpu-intel.c.o)
>>> referenced by cpu-intel.c:0 (../crypto/cpu-intel.c:0)
>>> cpu-intel.c.o:(handle_cpu_env) in archive /build/bazel_root/base/sandbox/processwrapper-sandbox/6776/execroot/envoy/bazel-out/k8-opt/bin/external/boringssl_fips/crypto/libcrypto.a
from envoy.
@Jayden-Lind reading through the related issues/PRs that have landed on main
i see now that we need to exclude qatzip properly
it seems like this issue was closed #31874 despite the fix not being backported
i think at least we need to backport #31910 - most likely #31898 also
would you be able to raise backports for these?
from envoy.
actually, nm re backport/s - i can do it
from envoy.
@Jayden-Lind if you are able to checkout the branch from #33470 could you confirm whether this fixes?
from envoy.
Hey @phlax, now getting this
[20,859 / 31,137] Executing genrule @boringssl_fips//:build; 376s processwrapper-sandbox ... (71 actions, 70 running)
ERROR: /source/source/common/quic/BUILD:573:17: Compiling source/common/quic/send_buffer_monitor.cc failed: (Exit 1): clang-14 failed: error executing command (from target //source/common/quic:send_buffer_monitor_lib)
(cd /build/bazel_root/base/sandbox/processwrapper-sandbox/8701/execroot/envoy && \
exec env - \
BAZEL_COMPILER=clang \
BAZEL_CXXOPTS='-stdlib=libc++' \
BAZEL_LINKLIBS=-l%:libc++.a:-l%:libc++abi.a \
BAZEL_LINKOPTS=-lm:-pthread \
CC=clang \
CXX=clang++ \
CXXFLAGS='-stdlib=libc++' \
LDFLAGS='-stdlib=libc++' \
LLVM_CONFIG=/opt/llvm/bin/llvm-config \
PATH=/opt/llvm/bin:/opt/llvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin \
PWD=/proc/self/cwd \
/opt/llvm/bin/clang-14 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-stdlib=libc++' -MD -MF bazel-out/k8-opt/bin/source/common/quic/_objs/send_buffer_monitor_lib/send_buffer_monitor.d '-frandom-seed=bazel-out/k8-opt/bin/source/common/quic/_objs/send_buffer_monitor_lib/send_buffer_monitor.o' -gsplit-dwarf -g -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL -DENVOY_ADMIN_FUNCTIONALITY -DENVOY_ENABLE_FULL_PROTOS -DENVOY_ENABLE_YAML -DENVOY_ENABLE_HTTP_DATAGRAMS -DENVOY_MOBILE_ENABLE_LISTENER -DENVOY_MOBILE_XDS -DBORINGSSL_FIPS '-DBAZEL_CURRENT_REPOSITORY=""' -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -iquote external/com_github_gabime_spdlog -iquote bazel-out/k8-opt/bin/external/com_github_gabime_spdlog -iquote external/com_github_fmtlib_fmt -iquote bazel-out/k8-opt/bin/external/com_github_fmtlib_fmt -iquote external/com_google_protobuf -iquote bazel-out/k8-opt/bin/external/com_google_protobuf -iquote external/utf8_range -iquote bazel-out/k8-opt/bin/external/utf8_range -iquote external/com_github_google_quiche -iquote bazel-out/k8-opt/bin/external/com_github_google_quiche -iquote external/boringssl_fips -iquote bazel-out/k8-opt/bin/external/boringssl_fips -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_nowkt -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_align -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/stubs/_virtual_includes/lite -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/port_def -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_allocation_policy -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_config -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_cleanup -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/string_block -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/varint_shuffle -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/io -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/io_win32 -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/gzip_stream -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/stubs/_virtual_includes/stubs -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/printer -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/zero_copy_sink -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/tokenizer -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/descriptor_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/empty_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/struct_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/wrappers_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/_virtual_includes/protobuf -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/api_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/source_context_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/type_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/duration_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/field_mask_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/timestamp_proto -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/compiler/_virtual_includes/importer -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/delimited_message_util -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/differencer -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/field_mask_util -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/json_util -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/json -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/parser -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/descriptor_traits -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/lexer -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/message_path -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/zero_copy_buffered_stream -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/untyped_message -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/type_resolver_util -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/descriptor_legacy -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/unparser -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/writer -Ibazel-out/k8-opt/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/time_util -Ibazel-out/k8-opt/bin/source/common/common/_virtual_includes/logger_impl_lib_standard -isystem external/com_github_gabime_spdlog/include -isystem bazel-out/k8-opt/bin/external/com_github_gabime_spdlog/include -isystem external/com_github_fmtlib_fmt/include -isystem bazel-out/k8-opt/bin/external/com_github_fmtlib_fmt/include -isystem bazel-out/k8-opt/bin/external/envoy/bazel/foreign_cc/zlib/include -isystem external/boringssl_fips/boringssl/include -isystem bazel-out/k8-opt/bin/external/boringssl_fips/boringssl/include '-DABSL_MIN_LOG_LEVEL=4' -fdebug-types-section -fPIC -Wno-deprecated-declarations '-Wno-error=deprecated-enum-enum-conversion' '-std=c++17' '-std=c++20' -Wall -Wextra -Werror -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast -Wformat -Wformat-security -Wvla -Wno-deprecated-declarations -Wreturn-type -ggdb3 -fno-limit-debug-info -Wgnu-conditional-omitted-operand -Wc++2a-extensions -Wrange-loop-analysis -DGPERFTOOLS_TCMALLOC -DENVOY_OBJECT_TRACE_ON_DUMP -DENVOY_DISABLE_DEPRECATED_FEATURES -DENVOY_LOG_DEBUG_ASSERT_IN_RELEASE -DENVOY_ENABLE_UHV -DENVOY_STATIC_EXTENSION_REGISTRATION -DENVOY_NORMALIZE_PATH_BY_DEFAULT -no-canonical-prefixes -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c source/common/quic/send_buffer_monitor.cc -o bazel-out/k8-opt/bin/source/common/quic/_objs/send_buffer_monitor_lib/send_buffer_monitor.o)
# Configuration: e5b684e418a7852cd3fb36b4ab7dbbb0d8891876f4f94a5983dd0693865afbaf
# Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from source/common/quic/send_buffer_monitor.cc:1:
./source/common/quic/send_buffer_monitor.h:3:10: ยท[0;1;31mfatal error: 'quiche/quic/core/quic_stream.h' file not found
#include "quiche/quic/core/quic_stream.h"
ยท[0;1;32m ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[20,903 / 31,137] Executing genrule @boringssl_fips//:build; 377s processwrapper-sandbox ... (32 actions running)
[20,934 / 31,137] Executing genrule @boringssl_fips//:build; 378s processwrapper-sandbox
INFO: Elapsed time: 455.179s, Critical Path: 379.01s
INFO: 20935 processes: 12270 internal, 1 local, 8663 processwrapper-sandbox, 1 worker.
FAILED: Build did NOT complete successfully
from envoy.
i think thats progress - the lib in the error is tagged nofips
so it should be ignored
in your original command/env you had --build_tag_filters=-nofips
set - not 100% that this will resolve but worth checking
i reckon we do want to land that backport tho
from envoy.
Related Issues (20)
- @envoy//test/integration:extension_discovery_integration_test is flaky under TSAN HOT 2
- //test/integration:quic_http_integration_test is Flaky under TSAN HOT 2
- Newer release available `com_github_google_perfetto`: v44.0 (current: v43.1)
- Newer release available `rules_rust`: 0.42.0 (current: 0.35.0) HOT 1
- Anti-Virus scanning of payload HOT 3
- udp: enabling GRO cause performance regression HOT 2
- mobile: swift-tests are very slow HOT 1
- Allow using downstream negotiated application protocol with upstream with TcpProxy + Tls HOT 5
- working example for zone aware routing? HOT 5
- Getting 503 intermittently on ingress gateway HOT 3
- Envoy 1.23.12 restarts due to OOM when clusters exceed 6K HOT 3
- ext_authz integration tests are flaky HOT 2
- Improve client side TLS session reuse HOT 10
- `route_configuration` defined in SRDS is not being picked up HOT 2
- Support annotating stats/metrics with downstream TLS context HOT 8
- Proxy both HTTP and HTTPS to upstream http_proxy HOT 3
- `lua-cluster-specifier` example is very flakey HOT 1
- notary.docker.io does not have trust data for docker.io/envoyproxy/envoy HOT 3
- Postsubmit fails pushing to the Docker registry HOT 3
- File based buf slice: is it possible? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from envoy.