On Sat, Feb 17, 2024 at 6:32 PM Orion Poplawski <orion@xxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-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/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue