Wes McKinney created ARROW-7989: ----------------------------------- Summary: [Developer][C++] IWYU fails on include-cycle in uriparser/Uri.h Key: ARROW-7989 URL: https://issues.apache.org/jira/browse/ARROW-7989 Project: Apache Arrow Issue Type: Bug Components: C++ Reporter: Wes McKinney Fix For: 1.0.0
{code} $ make [ 8%] Built target jemalloc_ep [ 8%] Built target toolchain [ 8%] Built target arrow_dependencies [ 9%] Building CXX object src/arrow/CMakeFiles/arrow_objlib.dir/util/uri.cc.o Error running '/home/wesm/code/iwyu/build/bin/include-what-you-use': Cycle in include-mapping: "arrow/vendored/uriparser/Uri.h" -> "arrow/vendored/uriparser/Uri.h" /home/wesm/code/iwyu/iwyu_include_picker.cc:919: Assertion failed: Cycle in include-mapping Child aborted src/arrow/CMakeFiles/arrow_objlib.dir/build.make:842: recipe for target 'src/arrow/CMakeFiles/arrow_objlib.dir/util/uri.cc.o' failed make[2]: *** [src/arrow/CMakeFiles/arrow_objlib.dir/util/uri.cc.o] Error 1 CMakeFiles/Makefile2:864: recipe for target 'src/arrow/CMakeFiles/arrow_objlib.dir/all' failed make[1]: *** [src/arrow/CMakeFiles/arrow_objlib.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 {code} According to https://github.com/include-what-you-use/include-what-you-use/issues/424#issuecomment-555098094 it should be possible to break the cycle and make IWYU happy using a mapping file. Apparently Boost has a lot of include cycles and so they have had to fix this -- This message was sent by Atlassian Jira (v8.3.4#803005)