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)

Reply via email to