← Back to team overview

kicad-developers team mailing list archive

Possible build failure using gcc 12

 

The Fedora nightly builds succeeded on F34 and F35 last night, but failed on Rawhide.  Rawhide recently switched to gcc 12, so that might be the cause of the build failures.

I would write this up as an issue on gitlab, but the template requires version information, which is not applicable in this situation.

The build log showing the failure is available here: https://download.copr.fedorainfracloud.org/results/@kicad/kicad/fedora-rawhide-x86_64/03196619-kicad-nightly/build.log.gz

Here is the error from that log:

[  2%] Building CXX object thirdparty/json_schema_validator/CMakeFiles/nlohmann_json_schema_validator.dir/json-validator.cpp.o
cd /builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/redhat-linux-build/thirdparty/json_schema_validator && /usr/bin/g++ -DGLM_FORCE_CTOR_INIT -DHAVE_STDINT_H -DKICAD_CONFIG_DIR=kicad -DKICAD_SCRIPTING_WXPYTHON -DKICAD_SPICE -DKICAD_USE_OCC -DWXUSINGDLL -DWX_COMPATIBILITY -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/json_schema_validator -I/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/nlohmann_json -isystem /builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/pybind11/include -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/harfbuzz -isystem /usr/include/opencascade -isystem /usr/lib64/wx/include/gtk3-unicode-3.0 -isystem /usr/include/wx-3.0 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -pthread -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++17 -MD -MT thirdparty/json_schema_validator/CMakeFiles/nlohmann_json_schema_validator.dir/json-validator.cpp.o -MF CMakeFiles/nlohmann_json_schema_validator.dir/json-validator.cpp.o.d -o CMakeFiles/nlohmann_json_schema_validator.dir/json-validator.cpp.o -c /builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/json_schema_validator/json-validator.cpp
/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/json_schema_validator/json-validator.cpp: In constructor '{anonymous}::string::string(nlohmann::json&, nlohmann::json_schema::root_schema*)':
/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/json_schema_validator/json-validator.cpp:762:53: error: ambiguous overload for 'operator=' (operand types are 'std::string' {aka 'std::__cxx11::basic_string<char>'} and 'nlohmann::basic_json<>')
  762 |                         patternString_ = attr.value();
      |                                                     ^
In file included from /usr/include/c++/12/string:53,
                 from /usr/include/c++/12/bits/locale_classes.h:40,
                 from /usr/include/c++/12/bits/ios_base.h:41,
                 from /usr/include/c++/12/streambuf:41,
                 from /usr/include/c++/12/bits/streambuf_iterator.h:35,
                 from /usr/include/c++/12/iterator:66,
                 from /builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/nlohmann_json/nlohmann/json.hpp:42,
                 from /builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/json_schema_validator/nlohmann/json-schema.hpp:24,
                 from /builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/thirdparty/json_schema_validator/json-validator.cpp:9:
/usr/include/c++/12/bits/basic_string.h:733:21: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::nullptr_t) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::nullptr_t = std::nullptr_t]' (deleted)
  733 |       basic_string& operator=(nullptr_t) = delete;
      |                     ^~~~~~~~
/usr/include/c++/12/bits/basic_string.h:801:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
  801 |       operator=(const basic_string& __str)
      |       ^~~~~~~~
/usr/include/c++/12/bits/basic_string.h:842:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
  842 |       operator=(basic_string&& __str)
      |       ^~~~~~~~
gmake[2]: *** [thirdparty/json_schema_validator/CMakeFiles/nlohmann_json_schema_validator.dir/build.make:107: thirdparty/json_schema_validator/CMakeFiles/nlohmann_json_schema_validator.dir/json-validator.cpp.o] Error 1
gmake[2]: Leaving directory '/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/redhat-linux-build'
gmake[1]: *** [CMakeFiles/Makefile2:2464: thirdparty/json_schema_validator/CMakeFiles/nlohmann_json_schema_validator.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory '/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/redhat-linux-build'
[  2%] Built target metadata
gmake[1]: Leaving directory '/builddir/build/BUILD/kicad-826154d666cf192a7123005bf565168fd447fd86/redhat-linux-build'
gmake: *** [Makefile:169: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.BSrNqc (%build)
RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.BSrNqc (%build)
Child return code was: 1
EXCEPTION: [Error()]
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/mockbuild/trace_decorator.py", line 93, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.9/site-packages/mockbuild/util.py", line 600, in do_with_status
    raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode)
mockbuild.exception.Error: Command failed:
 # /usr/bin/systemd-nspawn -q -M cb1aaede17484c84bcb849188ee71bce -D /var/lib/mock/fedora-rawhide-x86_64-1642529229.077379/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.bl3q0m6l:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/kicad-nightly.spec


Follow ups