You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Wes McKinney (Jira)" <ji...@apache.org> on 2020/03/02 22:55:00 UTC

[jira] [Created] (ARROW-7989) [Developer][C++] IWYU fails on include-cycle in uriparser/Uri.h

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)