[Bug 286403] devel/boost-libs: ZSTD support issue

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 27 Apr 2025 20:36:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286403

            Bug ID: 286403
           Summary: devel/boost-libs: ZSTD support issue
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: office@FreeBSD.org
          Reporter: thomas.dreibholz@gmail.com
             Flags: maintainer-feedback?(office@FreeBSD.org)
          Assignee: office@FreeBSD.org
 Attachment #259934 text/plain
         mime type:

Created attachment 259934
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=259934&action=edit
A rather minimal test to trigger the issue

Using ZSTD compression/decompression with BOOST fails under FreeBSD, with a
very simple test program (t1.cc, attached):

>>> referenced by t1.cc
>>>               CMakeFiles/t1.dir/t1.cc.o:(main)

ld: error: undefined symbol: boost::iostreams::detail::zstd_base::zstd_base()
>>> referenced by t1.cc
>>>               CMakeFiles/t1.dir/t1.cc.o:(boost::iostreams::detail::zstd_compressor_impl<std::__1::allocator<char>>::zstd_compressor_impl(boost::iostreams::zstd_params const&))

ld: error: undefined symbol: boost::iostreams::detail::zstd_base::~zstd_base()
>>> referenced by t1.cc
>>>               CMakeFiles/t1.dir/t1.cc.o:(boost::iostreams::detail::zstd_compressor_impl<std::__1::allocator<char>>::zstd_compressor_impl(boost::iostreams::zstd_params const&))
>>> referenced by t1.cc
>>>               CMakeFiles/t1.dir/t1.cc.o:(boost::iostreams::detail::zstd_compressor_impl<std::__1::allocator<char>>::~zstd_compressor_impl())

...

The same test program, however, works fine under e.g. Ubuntu and Debian Linux.

It seems that some ZSTD functions of BOOST are not linked into the BOOST
library. However, modifying the program to write BZip2 or XZ (replace
boost::iostreams::zstd_compressor() by boost::iostreams::bzip2_compressor() or
boost::iostreams::lzma_compressor()) works fine under both, FreeBSD and Linux.

-- 
You are receiving this mail because:
You are the assignee for the bug.