void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.59k stars 2.15k forks source link

[TRACKING] glibc 2.36 (and gcc 12) build failures #39960

Closed paper42 closed 1 year ago

paper42 commented 2 years ago

https://vasilek.cz/logs/gcc12-glibc-filtered/bad/

These are new failures from a gcc 12 glibc 2.36 world rebuild, this list doesn't include failures already found in previous musl rebuilds (https://github.com/void-linux/void-packages/issues/39809, https://github.com/void-linux/void-packages/issues/39083). These can be caused by glibc 2.36 or gcc 12 if they are not available on musl.

fixed by rebuilding mk-configure

fixed by using the glibc stable release branch instead of the 3.36 release

dkwo commented 2 years ago

does the recent update to arb fix this?

paper42 commented 2 years ago

does the recent update to arb fix this?

yes, thanks for the comment

ghost commented 1 year ago

runawk does not build on musl with the same result.

The problem lays with mk-configure which has to be revbumped with gcc 12.

mk-configure has a tendency to do its work only when it was built with a compiler of the corresponding version.

If built with GCC 10.2, it looks for /usr/share/mk-configure/mk/mkc_imp.cc_gcc-10.2.1.mk and/or /usr/share/mk-configure/mk/mkc_imp.cxx_gcc-10.2.1.mk depending if CC or CXX are used.

If used with GCC 12.2 without getting rebuilt first, the utility looks for /usr/share/mk-configure/mk/mkc_imp.cc_gcc-12.2.0.mk and/or /usr/share/mk-configure/mk/mkc_imp.cxx_gcc-12.2.0.mk and finds none because it was never revbumped with GCC 12.

Build failure with GCC 12 on musl (x86_64-musl):

runawk.fail.txt

mk-configure revbump + rebuild with GCC 12:

mk-configure-rbmp-gcc12.txt

Now runawk builds as expected:

runawk.txt

apprehensions commented 1 year ago

glibc upstream has been updated to solve this... void should be using that.

paper42 commented 1 year ago

glibc upstream has been updated to solve this... void should be using that.

@wael444 Do you have some more information about this? Solve what exactly? This looks like a problem with the mk-configure package that we should revbump.

apprehensions commented 1 year ago

https://vasilek.cz/logs/gcc12-glibc-filtered/bad/toybox.txt fixed by: commit glibc 3e279192749cfcae4ceebb1f21a3275e677d0561: https://github.com/bminor/glibc/archive/3e279192749cfcae4ceebb1f21a3275e677d0561.tar.gz

just try this for glibc, some of the packages would succeed to compile

oreo639 commented 1 year ago

Thanks.

ghost commented 1 year ago

cpp-hocon

Since I was not able to find Michal's logs about this package, I may include this one: cpp-hocon_fail.txt

Errors clearly indicate that catch.hpp is not found. Despite including catch2 and fixing header inclusion to catch2/catch.hpp, adventures do not end here:

[50/68] Building CXX object lib/tests/CMakeFiles/libcpp-hocon_test.dir/concatenation_test.cc.o
FAILED: lib/tests/CMakeFiles/libcpp-hocon_test.dir/concatenation_test.cc.o
/usr/bin/g++ -DBOOST_ALL_DYN_LINK -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_LOCALE_DYN_LINK -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_WITHOUT_WCHAR_T -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DLEATHERMAN_I18N -DLEATHERMAN_LOGGING_NAMESPACE=\"puppetlabs.cpp-hocon\" -DLEATHERMAN_USE_LOCALES -DPROJECT_DIR=\"/builddir/cpp-hocon-0.3.0/build\" -DPROJECT_NAME=\"cpp-hocon\" -I/builddir/cpp-hocon-0.3.0/lib/inc -I/builddir/cpp-hocon-0.3.0/lib/tests/catch/include -Wextra -std=c++11 -Wall -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Werror -Wno-maybe-uninitialized -DNDEBUG -fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2    -fdebug-prefix-map=/builddir/cpp-hocon-0.3.0/build=. -MD -MT lib/tests/CMakeFiles/libcpp-hocon_test.dir/concatenation_test.cc.o -MF lib/tests/CMakeFiles/libcpp-hocon_test.dir/concatenation_test.cc.o.d -o lib/tests/CMakeFiles/libcpp-hocon_test.dir/concatenation_test.cc.o -c /builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc
In file included from /builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc:1:
/builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc: In function 'void C_A_T_C_H_T_E_S_T_0()':
/builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc:300:9: error: cannot declare reference to 'struct hocon::config_exception&', which is not a typedef or a template type argument
  300 |         REQUIRE_THROWS_AS(
      |         ^~~~~~~~~~~~~~~~~
/builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc:300:9: error: 'const' qualifiers cannot be applied to 'hocon::config_exception&'
/builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc:309:9: error: cannot declare reference to 'struct hocon::config_exception&', which is not a typedef or a template type argument
  309 |         REQUIRE_THROWS_AS(
      |         ^~~~~~~~~~~~~~~~~
/builddir/cpp-hocon-0.3.0/lib/tests/concatenation_test.cc:309:9: error: 'const' qualifiers cannot be applied to 'hocon::config_exception&'
[51/68] Building CXX object lib/CMakeFiles/libprojectsrc.dir/src/config_value_factory.cc.o
[52/68] Building CXX object lib/tests/CMakeFiles/libcpp-hocon_test.dir/config_document_parser_test.cc.o
[53/68] Building CXX object lib/CMakeFiles/libprojectsrc.dir/src/values/config_concatenation.cc.o
ninja: build stopped: subcommand failed.
=> ERROR: cpp-hocon-0.3.0_4: do_build: '${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}' exited with 1
=> ERROR:   in do_build() at common/build-style/cmake.sh:93

This problem persists with musl-based environment the same way, too.

7r3nzy commented 1 year ago

mono builds with gcc-12(tried with x86-64), I think someone must've fixed this already

paper42 commented 1 year ago

done