Host Environment
- OS: Linux
- Compiler: GCC 12
To Reproduce
Steps to reproduce the behavior:
./vcpkg install --binarysource=clear abseil mnn
note that installing just mnn works:
./vcpkg remove --recurse abseil mnn
./vcpkg install --binarysource=clear mnn
Failure logs
error: building mnn:x64-linux failed with: BUILD_FAILED
error: Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+mnn
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[mnn]+Build+error
Include '[mnn] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
vcpkg-tool version: 2023-02-16-12e657924d99511514c0287ca5ce46882d3657c7
vcpkg-scripts version: 64fabc940 2023-03-02 (17 hours ago)
Details
Compiler error
```
/usr/bin/c++ -DDEBUG -DMNN_DEBUG -DMNN_DEBUG_MEMORY -DMNN_DEBUG_TENSOR_SIZE -DMNN_SUPPORT_TFLITE_QUAN -DMNN_USE_SSE -DMNN_USE_THREAD_POOL -DMNN_VERSION=\"1.1.0.0-d6795ad\" -DMNN_VERSION_MAJOR=1 -DMNN_VERSION_MINOR=1 -DMNN_VERSION_PATCH=0 -I/usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/include -I/usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/source -I/usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/express -I/usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/tools -I/usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/schema/current -I/usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/3rd_party/half -I/usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/share/rapidjson/../../include -isystem /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include -fPIC -std=c++11 -D__STRICT_ANSI__ -g -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -fno-rtti -fno-exceptions -g -fPIC -std=gnu++11 -MD -MT CMakeFiles/MNNMath.dir/source/math/Matrix.cpp.o -MF CMakeFiles/MNNMath.dir/source/math/Matrix.cpp.o.d -o CMakeFiles/MNNMath.dir/source/math/Matrix.cpp.o -c /usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/source/math/Matrix.cpp
In file included from /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/base/config.h:86,
from /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/base/attributes.h:37,
from /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/strings/string_view.h:39,
from /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/flatbuffers/base.h:237,
from /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/flatbuffers/array.h:22,
from /usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/flatbuffers/flatbuffers.h:24,
from /usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/schema/current/Tensor_generated.h:7,
from /usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/source/core/TensorUtils.hpp:13,
from /usr/local/google/home/coryan/vcpkg-develop/buildtrees/mnn/src/1.1.0-9f04ab166e.clean/source/math/Matrix.cpp:12:
/usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."
79 | #error "C++ versions less than C++14 are not supported."
| ^~~~~
/usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/strings/string_view.h:52:26: error: ‘string_view’ in namespace ‘std’ does not name a type
52 | using string_view = std::string_view;
| ^~~~~~~~~~~
/usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/strings/string_view.h:52:21: note: ‘std::string_view’ is only available from C++17 onwards
52 | using string_view = std::string_view;
| ^~~
/usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/strings/string_view.h:686:8: error: ‘string_view’ does not name a type
686 | inline string_view ClippedSubstr(string_view s, size_t pos,
| ^~~~~~~~~~~
/usr/local/google/home/coryan/vcpkg-develop/installed/x64-linux/include/absl/strings/string_view.h:697:11: error: ‘string_view’ does not name a type
697 | constexpr string_view NullSafeStringView(const char* p) {
```
Additional context
This is actually a problem in flatbuffers (google/flatbuffers#7824), it magically uses Abseil headers without declaring a dependency on it. This was actually discovered by @dg0yt in #29792. I am filing this bug to explain the problem in more detail and justify the need for #29974.