Skip to content

[arrow:x64-linux] [brotli:x64-linux] Can not be used together. #9838

@takacsd

Description

@takacsd

Describe the bug
I built arrow with vcpkg install arrow. It built everything fine, it built all the dependencies one of which is brotli.
Now I try to build an application using it. Since it is linux, the build is static, so I need to add all dependencies to my project. Which I can not...
Here is the issue:
arrow expects a target named Brotli::brotlienc:

# arrowTargets.cmake line 63:
set_target_properties(arrow_static PROPERTIES
   INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
   INTERFACE_LINK_LIBRARIES "double-conversion::double-conversion;OpenSSL::Crypto;OpenSSL::SSL;Brotli::brotlienc;Brotli::brotlidec;Brotli::brotlicommon;LZ4::lz4;Snappy::snappy;ZLIB::ZLIB;ZSTD::zstd;GLOG::glog;boost_filesystem;boost_system;boost_regex;Threads::Threads;rt"
)

but brotli exports unofficial::brotli::brotlienc:

+ install(EXPORT brotli FILE unofficial-brotli-config.cmake NAMESPACE unofficial::brotli:: DESTINATION share/unofficial-brotli)

Environment

  • OS: Ubuntu 19.10
  • Compiler: g++ 9.2.1

To Reproduce
Steps to reproduce the behavior:

  1. ./vcpkg install arrow
  2. Build an application using it.

Expected behavior
Obviously it should just work. I don't know which other projects using Brotli, but it is safe to say they are also broken. If the Brotli:: namespace is generally used, I think vcpkg should use the same. If not, vcpkg should patch arrow to use the unofficial::brotli:: namespace.

Metadata

Metadata

Assignees

Labels

category:port-bugThe issue is with a library, which is something the port should already support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions