[ 
https://issues.apache.org/jira/browse/ARROW-16993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17563500#comment-17563500
 ] 

Kouhei Sutou commented on ARROW-16993:
--------------------------------------

Thanks.

{noformat}
-- Could NOT find Boost: missing: system filesystem (found 
/usr/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version 
"1.76.0", minimum required is "1.58"))
{noformat}

is the root cause. You have system Boost but it doesn't include system and 
filesystem components. So {{Boost::headers}} is loaded but system Boost 
detection is failed. If system Boost detection is failed, we use bundled Boost 
and create {{Boost::headers}} for bundled Boost but {{Boost::headers}} already 
exists. It causes this error.

CMake doesn't provide a feature to remove a created target 
({{Boost::headers}}). We may be able to support this case by reusing 
(overriding) {{Boost::headers}} defined by system Boost but it may not be a 
good CMake manner...

I think that installing Boost's system and filesystem components to your system 
is the best solution for this case for now.

> [C++] cmake: `cannot create imported target "Boost::headers"`
> -------------------------------------------------------------
>
>                 Key: ARROW-16993
>                 URL: https://issues.apache.org/jira/browse/ARROW-16993
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Jefferson Carpenter
>            Assignee: Kouhei Sutou
>            Priority: Major
>         Attachments: CMakeError.log, CMakeOutput.log, cmake_stdout.txt
>
>
> Hi,
> I just tried to build arrow/cpp using cmake, and on the master branch I get 
> the error
>  
> {code:java}
> arrow-build $ cmake -DARROW_PARQUET=ON -DCMAKE_BUILD_TYPE=DEBUG ../arrow/cpp/
> ...
> CMake Error at cmake_modules/ThirdpartyToolchain.cmake:873 (add_library):
>   add_library cannot create imported target "Boost::headers" because another
>   target with the same name already exists.
> Call Stack (most recent call first):
>   cmake_modules/ThirdpartyToolchain.cmake:139 (build_boost)
>   cmake_modules/ThirdpartyToolchain.cmake:236 (build_dependency)
>   cmake_modules/ThirdpartyToolchain.cmake:1014 (resolve_dependency)
>   CMakeLists.txt:552 (include) 
> ...
> -- Configuring incomplete, errors occurred!
> See also "/app/arrow-build/CMakeFiles/CMakeOutput.log".
> See also "/app/arrow-build/CMakeFiles/CMakeError.log".{code}
> and CMake exits with status 1.  The project configures successfully on the 
> apache-arrow-8.0.0 tag.  Running a git bisect, the defect was introduced in 
> the commit:
> {noformat}
> d653b71d79fc381c43f59d3095cc1c9fb0c1cf7c
> ARROW-16168: [C++][CMake] Use target to add include paths{noformat}
> I have attached CMakeOutput.log and CMakeError.log.
> Thanks!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to