[Bug 2366921] Review Request: glaze - Extremely fast, in memory, JSON and interface library for modern C++

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2366921



--- Comment #8 from Jannik Müller <nighti@xxxxxxxxxx> ---
I tried as far as I could, unforunately Dragonbox is from the upstream source.
The developer of Dragonbox hasn't released a new update in the last 3 years
while the upstream source has been edited 7 months ago. glaze uses the version
from 7 months ago, therefore the system library is missing definitions that are
required for glaze.

I was able to include xxhash64ct and fast_float as system libraries.

Even without the above changed, enabling tests causes the build to fail:

[  5%] Building CXX object
tests/cli_menu_test/CMakeFiles/cli_menu_test.dir/cli_menu_test.cpp.o
cd
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/redhat-linux-build/tests/cli_menu_test
&& /usr/bin/g++  -I/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/include
-isystem
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/external/ut/include -O2
-flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64
-march=x86-64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection -mtls-dialect=gnu2
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=gnu++23
-fno-exceptions -fno-rtti -Wall -Wextra -pedantic -Wno-missing-braces -MD -MT
tests/cli_menu_test/CMakeFiles/cli_menu_test.dir/cli_menu_test.cpp.o -MF
CMakeFiles/cli_menu_test.dir/cli_menu_test.cpp.o.d -o
CMakeFiles/cli_menu_test.dir/cli_menu_test.cpp.o -c
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/tests/cli_menu_test/cli_menu_test.cpp
In file included from /usr/include/c++/15/bits/unordered_map.h:33,
                 from /usr/include/c++/15/unordered_map:43,
                 from /usr/include/c++/15/functional:65,
                 from
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/include/glaze/api/api.hpp:6,
                 from
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/include/glaze/api/impl.hpp:6,
                 from
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/tests/api_test/api_test.cpp:7:
/usr/include/c++/15/bits/hashtable.h: In instantiation of ‘class
std::_Hashtable<std::vector<std::__cxx11::basic_string<char> >,
std::vector<std::__cxx11::basic_string<char> >,
std::allocator<std::vector<std::__cxx11::basic_string<char> > >,
std::__detail::_Identity,
std::equal_to<std::vector<std::__cxx11::basic_string<char> > >,
std::hash<std::vector<std::__cxx11::basic_string<char> > >,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true,
true, true> >’:
/usr/include/c++/15/bits/unordered_set.h:110:18:   required from ‘class
std::unordered_set<std::vector<std::__cxx11::basic_string<char> > >’
  110 |       _Hashtable _M_h;
      |                  ^~~~
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/include/glaze/core/meta.hpp:226:45:
  required from ‘constexpr const std::string_view
glz::name_v<std::unordered_set<std::vector<std::__cxx11::basic_string<char> > >
>’
  226 |          if constexpr (requires { T::glaze::name; }) {
      |                                             ^~~~
/builddir/build/BUILD/glaze-5.2.1-build/glaze-5.2.1/tests/api_test/api_test.cpp:180:36:
  required from here
  180 |          std::string_view u =
glz::name_v<std::unordered_set<std::vector<std::string>>>;
      |                                   
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15/bits/hashtable.h:210:51: error: static assertion failed:
hash function must be copy constructible
  210 |       static_assert(is_copy_constructible<_Hash>::value,
      |                                                   ^~~~~
/usr/include/c++/15/bits/hashtable.h:210:51: note:
‘std::integral_constant<bool, false>::value’ evaluates to false

It seems to be that the test uses a template which creates a realization that
is not allowed in the cpp library. I would create an issue on upstream, but
would suggest disabling the tests that are defective until upstream fixes it. I
need the library to update Hyprland. Hyprland doesn't seem to use the broken
features that are used in the test.

Do you agree with me?


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2366921

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202366921%23c8

-- 
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux