Closed Peter2121 closed 3 months ago
Symbols exported by the fmt library:
nm -gDC /usr/local/lib/libfmt.so.10.2.1
w _Jv_RegisterClasses
U _Unwind_Resume
0000000000027380 V fmt::v10::format_facet<std::__1::locale>::id
0000000000023b10 T fmt::v10::buffered_file::close()
0000000000023a40 T fmt::v10::buffered_file::buffered_file(fmt::v10::basic_cstring_view<char>, fmt::v10::basic_cstring_view<char>)
0000000000023a40 T fmt::v10::buffered_file::buffered_file(fmt::v10::basic_cstring_view<char>, fmt::v10::basic_cstring_view<char>)
0000000000023a00 T fmt::v10::buffered_file::~buffered_file()
0000000000023a00 T fmt::v10::buffered_file::~buffered_file()
000000000000bc20 T fmt::v10::vsystem_error(int, fmt::v10::basic_string_view<char>, fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >)
000000000000bfb0 T fmt::v10::format_system_error(fmt::v10::detail::buffer<char>&, int, char const*)
000000000000c090 T fmt::v10::report_system_error(int, char const*)
00000000000240d0 T fmt::v10::file::dup(int)
0000000000024180 T fmt::v10::file::dup2(int)
0000000000024250 T fmt::v10::file::dup2(int, std::__1::error_code&)
00000000000242c0 T fmt::v10::file::pipe(fmt::v10::file&, fmt::v10::file&)
0000000000023f30 T fmt::v10::file::read(void*, unsigned long)
0000000000023d80 T fmt::v10::file::close()
0000000000024000 T fmt::v10::file::write(void const*, unsigned long)
00000000000243e0 T fmt::v10::file::fdopen(char const*)
0000000000023c60 T fmt::v10::file::file(fmt::v10::basic_cstring_view<char>, int)
0000000000023c60 T fmt::v10::file::file(fmt::v10::basic_cstring_view<char>, int)
0000000000023d40 T fmt::v10::file::~file()
0000000000023d40 T fmt::v10::file::~file()
000000000000d6b0 W _ZN3fmt3v106detail10locale_refC1INSt3__16localeEEERKT_
000000000000d6b0 W _ZN3fmt3v106detail10locale_refC2INSt3__16localeEEERKT_
000000000000ca40 W void fmt::v10::detail::vformat_to<char>(fmt::v10::detail::buffer<char>&, fmt::v10::basic_string_view<char>, fmt::v10::detail::vformat_args<char>::type, fmt::v10::detail::locale_ref)
000000000000b760 T fmt::v10::detail::assert_fail(char const*, int, char const*)
0000000000024530 T fmt::v10::detail::file_buffer::grow(unsigned long)
0000000000024570 T fmt::v10::detail::file_buffer::file_buffer(fmt::v10::basic_cstring_view<char>, fmt::v10::detail::ostream_params const&)
00000000000245e0 T fmt::v10::detail::file_buffer::file_buffer(fmt::v10::detail::file_buffer&&)
0000000000024570 T fmt::v10::detail::file_buffer::file_buffer(fmt::v10::basic_cstring_view<char>, fmt::v10::detail::ostream_params const&)
00000000000245e0 T fmt::v10::detail::file_buffer::file_buffer(fmt::v10::detail::file_buffer&&)
0000000000024620 T fmt::v10::detail::file_buffer::~file_buffer()
0000000000024620 T fmt::v10::detail::file_buffer::~file_buffer()
000000000000c2e0 T fmt::v10::detail::is_printable(unsigned int)
000000000000b8d0 T fmt::v10::detail::report_error(void (*)(fmt::v10::detail::buffer<char>&, int, char*), int, void (*)(fmt::v10::detail::buffer<char>&, int, char*))
000000000000be30 T fmt::v10::detail::utf8_to_utf16::utf8_to_utf16(fmt::v10::basic_string_view<char>)
000000000000be30 T fmt::v10::detail::utf8_to_utf16::utf8_to_utf16(fmt::v10::basic_string_view<char>)
000000000000c0c0 T fmt::v10::detail::write_console(__sFILE*, fmt::v10::basic_string_view<char>)
000000000000c0b0 T fmt::v10::detail::write_console(int, fmt::v10::basic_string_view<char>)
000000000000b7e0 T fmt::v10::detail::format_error_code(fmt::v10::detail::buffer<char>&, int, fmt::v10::basic_string_view<char>)
000000000000d7a0 W char fmt::v10::detail::decimal_point_impl<char>(fmt::v10::detail::locale_ref)
000000000000dbd0 W wchar_t fmt::v10::detail::decimal_point_impl<wchar_t>(fmt::v10::detail::locale_ref)
000000000000d6c0 W fmt::v10::detail::thousands_sep_result<char> fmt::v10::detail::thousands_sep_impl<char>(fmt::v10::detail::locale_ref)
000000000000daf0 W fmt::v10::detail::thousands_sep_result<wchar_t> fmt::v10::detail::thousands_sep_impl<wchar_t>(fmt::v10::detail::locale_ref)
000000000000b790 T fmt::v10::detail::throw_format_error(char const*)
000000000000c0d0 T fmt::v10::detail::print(__sFILE*, fmt::v10::basic_string_view<char>)
000000000000d830 W void fmt::v10::detail::buffer<char>::append<char>(char const*, char const*)
000000000000dc60 W void fmt::v10::detail::buffer<wchar_t>::append<wchar_t>(wchar_t const*, wchar_t const*)
000000000000d230 W fmt::v10::detail::dragonbox::decimal_fp<double> fmt::v10::detail::dragonbox::to_decimal<double>(double)
000000000000cf60 W fmt::v10::detail::dragonbox::decimal_fp<float> fmt::v10::detail::dragonbox::to_decimal<float>(float)
000000000000be00 T fmt::v10::detail::dragonbox::get_cached_power(int)
000000000000b9a0 T fmt::v10::detail::write_loc(fmt::v10::appender, fmt::v10::loc_value, fmt::v10::format_specs<char> const&, fmt::v10::detail::locale_ref)
000000000000c210 T fmt::v10::vprint(fmt::v10::basic_string_view<char>, fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >)
000000000000c150 T fmt::v10::vprint(__sFILE*, fmt::v10::basic_string_view<char>, fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >)
0000000000024680 T fmt::v10::ostream::~ostream()
0000000000024680 T fmt::v10::ostream::~ostream()
000000000000bce0 T fmt::v10::vformat(fmt::v10::basic_string_view<char>, fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >)
000000000000bb20 T fmt::v10::format_facet<std::__1::locale>::do_put(fmt::v10::appender, fmt::v10::loc_value, fmt::v10::format_specs<char> const&) const
0000000000023bc0 T fmt::v10::buffered_file::descriptor() const
0000000000023e30 T fmt::v10::file::size() const
000000000000c780 W std::__1::locale fmt::v10::detail::locale_ref::get<std::__1::locale>() const
U std::runtime_error::what() const
U std::__1::locale::has_facet(std::__1::locale::id&) const
U std::__1::locale::use_facet(std::__1::locale::id&) const
U std::runtime_error::runtime_error(char const*)
U std::runtime_error::runtime_error(char const*)
U std::runtime_error::~runtime_error()
U std::runtime_error::~runtime_error()
U std::bad_array_new_length::bad_array_new_length()
U std::bad_array_new_length::~bad_array_new_length()
U std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(unsigned long, char)
U std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
U std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
U std::__1::system_error::system_error(std::__1::error_code, char const*)
U std::__1::system_error::system_error(std::__1::error_code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
U std::__1::system_error::~system_error()
U std::__1::generic_category()
U std::__1::locale::facet::__on_zero_shared()
U std::__1::locale::facet::~facet()
U std::__1::locale::locale(std::__1::locale const&)
U std::__1::locale::locale()
U std::__1::locale::~locale()
U std::__1::numpunct<char>::id
U std::__1::numpunct<wchar_t>::id
U std::terminate()
0000000000025cb0 V typeinfo for fmt::v10::format_error
U typeinfo for std::__1::system_error
U typeinfo for std::__1::locale::facet
U typeinfo for std::runtime_error
U typeinfo for std::bad_array_new_length
0000000000004aac V typeinfo name for fmt::v10::format_error
U vtable for __cxxabiv1::__class_type_info
U vtable for __cxxabiv1::__si_class_type_info
U vtable for __cxxabiv1::__vmi_class_type_info
0000000000025cc8 V vtable for fmt::v10::format_error [25/1436]
U operator delete [](void*)
U operator delete(void*)
U operator new [](unsigned long)
U operator new(unsigned long)
U __cxa_allocate_exception
U __cxa_begin_catch
U __cxa_end_catch
w __cxa_finalize
U __cxa_free_exception
U __cxa_throw
U __error
U __gxx_personality_v0
U __stack_chk_fail
U __stack_chk_guard
U __stderrp
U __stdoutp
00000000000247dc T _fini
00000000000247cc T _init
U bcmp
U close
U dup
U dup2
U fclose
U fdopen
U fileno
U fopen
U fprintf
U fputc
U fstat
U fwrite
U memchr
U memcpy
U memset
U open
U pipe
U read
U strlen
U sysconf
U write
After some digging, I could build it:
Probably, some build files of VowpalWabbit need to be adjusted. Unfortunately, I'm not so strong in cmake to prepare a PR.
Unfortunately, none of us have FreeBSD and we can't quite tell from the above what's going on. If someone can figure out how to smooth this process, a patch is welcome.
Describe the bug
There are several issues building VowpalWabbit on FreeBSD.
cmake command is:
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DFMT_SYS_DEP:BOOL="ON" -DRAPIDJSON_SYS_DEP:BOOL="ON" -DSPDLOG_SYS_DEP:BOOL="ON" -DVW_BOOST_MATH_SYS_DEP:BOOL="ON" -DVW_ZLIB_SYS_DEP:BOOL="ON" -DBUILD_TESTING:BOOL="OFF"
Build command is:
cmake --build build
Link error is:
The fmt library is installed from package:
How to reproduce
Follow Build instructions with Option 3: Using system dependencies
The following leaf packages are installed (in jail):
Version
commit f204897f2f020f3102a8080e3cef0b0531a2ee0a (git clone)
OS
FreeBSD 13.3
Language
C++
Additional context
No response