microsoft / microsoft/vcpkg

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

Open
#9,838 8 comments 0 reactions 1 assignee View on GitHub

@LilyWangLL is already working on this.

Since Nov 22, 2021.

category:port-bug
Dominant language
CMake
Stars
27.5k
Forks
7.7k
Avg merge
2d 19h
Merged PRs (30d)
321

Description

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:
https://github.com/microsoft/vcpkg/blob/f272b0c9846d24c2b77a5fb60e1061d397384acb/ports/brotli/install.patch#L53

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.