On Sat, Feb 17, 2024 at 6:32 PM Orion Poplawski <or...@nwra.com> wrote:
> simdjson is failing to build with GCC 14 on x86_64:
>
> /usr/bin/cmake -S/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4
> -B/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu
> --check-build-system CMakeFiles/Makefile.cmake 0
> /usr/bin/cmake -E cmake_progress_start
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu/CMakeFiles
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu//CMakeFiles/progress.marks
> make  -f CMakeFiles/Makefile2 all
> make[1]: Entering directory
> '/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu'
> make  -f CMakeFiles/simdjson.dir/build.make CMakeFiles/simdjson.dir/depend
> make[2]: Entering directory
> '/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu'
> cd /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu
> && /usr/bin/cmake -E cmake_depends "Unix Makefiles"
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu/CMakeFiles/simdjson.dir/DependInfo.cmake
> "--color="
> make[2]: Leaving directory
> '/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu'
> make  -f CMakeFiles/simdjson.dir/build.make CMakeFiles/simdjson.dir/build
> make[2]: Entering directory
> '/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/x86_64-redhat-linux-gnu'
> [ 50%] Building CXX object CMakeFiles/simdjson.dir/src/simdjson.cpp.o
> /usr/bin/g++ -DSIMDJSON_AVX512_ALLOWED=1 -DSIMDJSON_THREADS_ENABLED=1
> -DSIMDJSON_UTF8VALIDATION=1 -Dsimdjson_EXPORTS
> -I/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/include
> -I/home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src -m64 -mtune=generic
> -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
> -O2 -g -grecord-gcc-switches -pipe
> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer
> -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections
> -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
> -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
> -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -DNDEBUG
> -std=c++17 -fPIC -mno-avx256-split-unaligned-load
> -mno-avx256-split-unaligned-store -MD -MT
> CMakeFiles/simdjson.dir/src/simdjson.cpp.o -MF
> CMakeFiles/simdjson.dir/src/simdjson.cpp.o.d -o
> CMakeFiles/simdjson.dir/src/simdjson.cpp.o -c
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/simdjson.cpp
> In file included from
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/fallback.cpp:15,
>                   from
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/simdjson.cpp:27:
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/generic/stage2/json_iterator.h:
> In function ‘simdjson::fallback::(anonymous
> namespace)::stage2::tape_builder::parse_document<false>(simdjson::fallback::dom_parser_implementation&,
> simdjson::dom::document&)simdjson::error_code’:
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/generic/stage2/json_iterator.h:119:49:
> error: inlining failed in call to ‘always_inline’
> ‘simdjson::fallback::(anonymous
> namespace)::stage2::json_iterator::walk_document<false,
> simdjson::fallback::(anonymous
> namespace)::stage2::tape_builder>(simdjson::fallback::(anonymous
> namespace)::stage2::tape_builder&)simdjson::error_code’: target specific
> option mismatch
>    119 | simdjson_warn_unused simdjson_inline error_code
> json_iterator::walk_document(V &visitor) noexcept {
>        |                                                 ^~~~~~~~~~~~~
> In file included from
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/fallback.cpp:17:
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/generic/stage2/tape_builder.h:105:39:
> note: called from here
>    105 |   return iter.walk_document<STREAMING>(builder);
>        |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/generic/stage2/json_iterator.h:119:49:
> error: inlining failed in call to ‘always_inline’
> ‘simdjson::fallback::(anonymous
> namespace)::stage2::json_iterator::walk_document<false,
> simdjson::fallback::(anonymous
> namespace)::stage2::tape_builder>(simdjson::fallback::(anonymous
> namespace)::stage2::tape_builder&)simdjson::error_code’: target specific
> option mismatch
>    119 | simdjson_warn_unused simdjson_inline error_code
> json_iterator::walk_document(V &visitor) noexcept {
>        |                                                 ^~~~~~~~~~~~~
> /home/tkloczko/rpmbuild/BUILD/simdjson-3.6.4/src/generic/stage2/tape_builder.h:105:39:
> note: called from here
>    105 |   return iter.walk_document<STREAMING>(builder);
>        |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> make[2]: *** [CMakeFiles/simdjson.dir/build.make:79:
> CMakeFiles/simdjson.dir/src/simdjson.cpp.o] Error 1
> make[2]: Target 'CMakeFiles/simdjson.dir/build' not remade because of
> errors.
>
> I really have no idea how to resolve this.

Someone who understands more will have to answer why this happens, but
a workaround is to change "simdjson_inline" to plain "inline" on line
119 of src/generic/stage2/json_iterator.h.
-- 
Jerry James
http://www.jamezone.org/
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to