tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Issue with re2 package
On Wednesday, 19 February 2025 02:03:21 PST Mark Davies wrote:
> And indeed the function in the library differs:
>
> # nm -D -C /usr/pkg/lib/libre2.so | grep FullMatchN
> 000000000003c6f2 T
> re2::RE2::FullMatchN(absl::lts_20250127::string_view, re2::RE2 const&,
> re2::RE2::Arg const* const*, int)
>
> # nm -C
> work.x86_64/qtwebengine-everywhere-src-6.8.2/src/core/Release/x86_64/obj/thi
> rd_party/re2/libbundled_re2.a
> | grep FullMatchN
>
> 0000000000000000 T re2::RE2::FullMatchN(std::basic_string_view<char,
> std::char_traits<char> >, re2::RE2 const&, re2::RE2::Arg const* const*, int)
>
>
> And if I look at our ArchLinux machines I get a similar difference
> between the pkgsrc package and the ArchLinux package:
>
> % nm -D -C /usr/pkg/lib/libre2.so | grep FullMatchN
> 0000000000053020 T re2::RE2::FullMatchN(absl::lts_20240722::string_view,
> re2::RE2 const&, re2::RE2::Arg const* const*, int)
>
> % nm -D -C /usr/lib/libre2.so | grep FullMatchN
> 000000000002b600 T re2::RE2::FullMatchN(std::basic_string_view<char,
> std::char_traits<char> >, re2::RE2 const&, re2::RE2::Arg const* const*, int)
>
>
> Anybody got any idea whats going on?
When compiling for C++17 or above, absl::string_view is typedef'd as std::string_view. ABSL_OPTION_USE_STD_STRING_VIEW is used to enforce this: 0 or 1 to enforce absl::string_view or std::string_view respectively, or 2 to base it on the available C++ standard. At least on my build from pkgsrc, it's set to always use absl::string_view:
#define ABSL_OPTION_USE_STD_STRING_VIEW 0
I'm wondering if qtwebengine-everywhere is including the abseil and re2 headers in the chromium tree, which does set ABSL_OPTION_USE_STD_STRING_VIEW=2 (src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h).
> cheers
> mark
--
snow flurry <snow%datagirl.xyz@localhost>
Home |
Main Index |
Thread Index |
Old Index