[WIP] bazel: Attempt to fix broken opentracing build#27244
[WIP] bazel: Attempt to fix broken opentracing build#27244phlax wants to merge 1 commit intoenvoyproxy:mainfrom
Conversation
|
CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to |
7452cb4 to
d41ac63
Compare
bazel/setup_clang.sh
Outdated
There was a problem hiding this comment.
not sure why but this breaks the opentracing cmake build
There was a problem hiding this comment.
CMakeFiles/cmTC_c1a95.dir/testCXXCompiler.cxx.o:(.data.rel.ro._ZTIFivE[_ZTIFivE]+0x0): undefined reference to `vtable for __cxxabiv1::__function_type_info'f395057 to
676af03
Compare
bazel/io_opentracing_cpp.patch
Outdated
36ece12 to
3cd678c
Compare
Signed-off-by: Ryan Northey <[email protected]>
|
k - possible workaround $ bazel run @cmake-3.23.2-linux-x86_64//:bin/cmake
...this isnt how we want to call it but i can get the target from one of the other rules - so we can make a |
|
Will you pursue this potential workaround further? |
im not immediately motivate to - i tried a bit further yesterday with mixed results the workaround is definitely doable but its a toolchain and not a tool so it needs its env (configs and env vars) to work so less straightforward the way i was trying at least possibly the above could be aliased in some way and then fed to the build rule debugging the foreign cc targets in a bazel rule i also noticed that some of the bits were there to possibly use them directly in a genrule - discussions (rather than docs) suggest this should be possible tbh tho - i have limited time to pursue it so much more up for reviewing any pr that retains all or part of the opentracing build as long as it does so without using the host cmake feel free to pick/hack any parts from here or #27246 if this is a priority for you |
|
Is the broken build visible anywhere in CI? What do I need to do to reproduce it? At the moment, the main branch seems to build fine? |
|
trying rebuilding from scratch cc @daixiang0 |
|
I try to cherry-pick and try. Another error, not about also now we still have some |
|
this pr was wip, and at very least will require to be rebased and probably updated |
sorry, i was pinging you as you had highlighted that the build was broken - not so much about this PR the PR i suggested picking when we spoke previously is this one #27246 |
|
I looked into it, and I think there are (at least) two alternative ways to fix this:
|
this is what this PR attempts to do, altho in this case the cmake build is injected in the patch, rather than built separately the problem i hit here is that it fails the we could move the build into envoy BUILD files - i suspect it wont make any difference - but worth a try
not sure i follow entirely, but sounds complicated for somethign we are about to get rid of (even if we do keep it a little longer) - esp given there is a right way to do this |
OK, there are some things I don't understand there, and also the diff of a patch file is always a bit cumbersome to read. I tried something a bit different, maybe different enough to fix the next problem:
OK, another thing I need to look into then. How do I start that build, or is that part of the bazel.dev CI target? Also one question: If I run |
Especially if you no longer plan to update to newer versions, simply adding the generated version.h and config.h in the patch file and removing the genrule entirely from the opentracing BUILD file should be a very simple workaround. Should I submit a PR for that? |
yeah - i just built on what was there - in this case it has a BUILD file so that was being patched - probs not the cleanest way
yeah, there is a bit more to it than that, but basically yes i would avoid the
this could work - try putting a PR together that does this and see if it can pass CI |
|
Here's a first draft how it could look like, but I'm still running the build locally, so it may need some fixups: #27400 |
|
closing in favour of #27400 |
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]