Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[boost-iostreams] build fails to include zstd #16580

Closed
cdcseacave opened this issue Mar 7, 2021 · 6 comments · Fixed by #19556
Closed

[boost-iostreams] build fails to include zstd #16580

cdcseacave opened this issue Mar 7, 2021 · 6 comments · Fixed by #19556
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@cdcseacave
Copy link
Contributor

Host Environment

  • OS: Ubuntu 20.04 (works on Windows)
  • Compiler: gcc

To Reproduce
Steps to reproduce the behavior:
./vcpkg install boost-iostreams

Failure
The port builds fine, but only zlib and bzip2 are considered during compilation, even though for ex zstd is installed already with vcpkg and it seems to be listed as dependency in the port script. When trying to use some functionality that depends on zstd I get many linking errors like this:

[build] [ 81%] Linking CXX executable ../../bin/Data
[build] /usr/bin/ld: ../../lib/libMVS.a(Scene.cpp.o): in function `boost::iostreams::detail::zstd_decompressor_impl<std::allocator<char> >::~zstd_decompressor_impl()':
[build] /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:310: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:310: undefined reference to `boost::iostreams::detail::zstd_base::~zstd_base()'
[build] /usr/bin/ld: ../../lib/libMVS.a(Scene.cpp.o): in function `boost::iostreams::detail::zstd_compressor_impl<std::allocator<char> >::~zstd_compressor_impl()':
[build] /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:286: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:286: undefined reference to `boost::iostreams::detail::zstd_base::~zstd_base()'
[build] /usr/bin/ld: ../../lib/libMVS.a(Scene.cpp.o): in function `boost::iostreams::detail::zstd_decompressor_impl<std::allocator<char> >::close()':
[build] /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:331: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
[build] /usr/bin/ld: ../../lib/libMVS.a(Scene.cpp.o): in function `boost::iostreams::detail::zstd_decompressor_impl<std::allocator<char> >::filter(char const*&, char const*, char*&, char*, bool)':
[build] /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:324: undefined reference to `boost::iostreams::detail::zstd_base::before(char const*&, char const*, char*&, char*)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:325: undefined reference to `boost::iostreams::zstd::finish'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:325: undefined reference to `boost::iostreams::zstd::run'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:325: undefined reference to `boost::iostreams::detail::zstd_base::inflate(int)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:326: undefined reference to `boost::iostreams::detail::zstd_base::after(char const*&, char*&, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:327: undefined reference to `boost::iostreams::zstd::stream_end'
[build] /usr/bin/ld: ../../lib/libMVS.a(Scene.cpp.o): in function `boost::iostreams::detail::zstd_compressor_impl<std::allocator<char> >::filter(char const*&, char const*, char*&, char*, bool)':
[build] /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:293: undefined reference to `boost::iostreams::detail::zstd_base::before(char const*&, char const*, char*&, char*)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:294: undefined reference to `boost::iostreams::zstd::finish'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:294: undefined reference to `boost::iostreams::zstd::run'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:294: undefined reference to `boost::iostreams::detail::zstd_base::deflate(int)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:295: undefined reference to `boost::iostreams::detail::zstd_base::after(char const*&, char*&, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:296: undefined reference to `boost::iostreams::zstd::stream_end'
[build] /usr/bin/ld: ../../lib/libMVS.a(Scene.cpp.o): in function `boost::iostreams::detail::zstd_compressor_impl<std::allocator<char> >::close()':
[build] /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:300: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:300: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:300: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
[build] /usr/bin/ld: /home/wii/Pro/vcpkg/installed/x64-linux/include/boost/iostreams/filter/zstd.hpp:300: undefined reference to `boost::iostreams::detail::zstd_base::reset(bool, bool)'
@PhoebeHui PhoebeHui self-assigned this Mar 8, 2021
@PhoebeHui PhoebeHui added the requires:more-information This Issue requires more information to solve label Mar 8, 2021
@PhoebeHui
Copy link
Contributor

@cdcseacave, could you provide us the repro code?

@cdcseacave
Copy link
Contributor Author

@PhoebeHui PhoebeHui added category:port-bug The issue is with a library, which is something the port should already support and removed requires:more-information This Issue requires more information to solve labels Mar 10, 2021
@PhoebeHui
Copy link
Contributor

This should be a port bug, from https://github.com/microsoft/vcpkg/blob/master/ports/boost-modular-build-helper/boost-modular-build.cmake, it only add the zstd library to boost on windows.

cc @yurybura

@cdcseacave
Copy link
Contributor Author

any updates here pls?

yurybura added a commit to yurybura/vcpkg that referenced this issue Sep 24, 2021
@lihuihui-bj
Copy link

seems this problem re-occur with boost 1.81.0

@yurybura
Copy link
Contributor

seems this problem re-occur with boost 1.81.0

Could you share your log?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants