Closed anarthal closed 9 months ago
Man... C++ is complex 😆
I can't find the difference between this and what we test in https://github.com/boostorg/url/actions/runs/7173027751/job/19531625406#step:15:1
I'll ask around
Do you have the complete workflow somewhere?
Is this specific to clang-7?
Interestingly, in_place_value and in_place_error aren't even used anywhere in Boost.URL.
One thing to note is that you're building Boost explicitly with C++14, but your program doesn't set a C++ standard in CMakeLists. What C++ standard is being used while building it?
I wrote the CML as a minimal reproducible example. The actual failure was encountered while linking a test executable against /boost/url//boost_url
(everything happening in b2
), in MySQL CIs. It doesn't happen in release mode.
The run is here. I don't do the entire clang coverage range, but doesn't happen in clang 3.6 or clang 11.
OK, this is clearly a System issue, but I have no idea why it happens in the way it happens here, as these symbols don't seem to be referenced anywhere in URL. I do have an idea what I need to do to fix it, though. :-)
I have no idea what just happened here 🤣
I transferred the issue to System and fixed it. Or I think that I fixed it. :-)
@anarthal Can you test develop and see if the issue is fixed?
I can confirm this fixed the issue. Thanks.
How to reproduce:
docker run --rm -it ghcr.io/anarthal-containers/build-clang7:d34a92a9b9702a0a5e2b9ab4a635f7b077229626
./b2 toolset=clang variant=debug cxxstd=14 --with-url --prefix=/opt/myboost/ install
mkdir build && cd build && cmake -DCMAKE_PREFIX_PATH=/opt/myboost/ && make
.Failing with the following error (looks like in C++14,
static constexpr
variables are not handled correctly in some cases):