[Pkg-puppet-devel] Bug#906460: facter: FTBFS in buster/sid (catching polymorphic type by value)

Santiago Vila sanvila at debian.org
Fri Aug 17 20:20:54 BST 2018


Package: src:facter
Version: 3.11.0-1
Severity: serious
Tags: ftbfs

Dear maintainer:

I tried to build this package in buster but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-arch
dh build-arch
   dh_update_autotools_config -a
   dh_autoreconf -a
   dh_auto_configure -a
	cd obj-x86_64-linux-gnu && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" ..
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done

[... snipped ...]

make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make -f lib/CMakeFiles/libfacter.dir/build.make lib/CMakeFiles/libfacter.dir/build
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[ 57%] Linking CXX shared library libfacter.so
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib && /usr/bin/cmake -E cmake_link_script CMakeFiles/libfacter.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -Wextra -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-maybe-uninitialized -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -shared -Wl,-soname,libfacter.so.3.11.0 -o libfacter.so.3.11.0 CMakeFiles/libfactersrc.dir/src/cwrapper.cc.o CMakeFiles/libfactersrc.dir/src/facts/array_value.cc.o CMakeFiles/libfactersrc.dir/src/facts/collection.cc.o CMakeFiles/libfactersrc.dir/src/facts/external/execution_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/external/json_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/external/resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/external/text_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/external/yaml_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/map_value.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/augeas_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/disk_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/dmi_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/ec2_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/filesystem_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/fips_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/gce_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/hypervisors_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/identity_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/kernel_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/ldom_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/load_average_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/memory_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/networking_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/operating_system_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/path_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/processor_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/ruby_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/ssh_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/system_profiler_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/timezone_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/uptime_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/virtualization_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/xen_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/zpool_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/zone_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/resolvers/zfs_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/cache.cc.o CMakeFiles/libfactersrc.dir/src/facts/scalar_value.cc.o CMakeFiles/libfactersrc.dir/src/logging/logging.cc.o CMakeFiles/libfactersrc.dir/src/ruby/aggregate_resolution.cc.o CMakeFiles/libfactersrc.dir/src/ruby/chunk.cc.o CMakeFiles/libfactersrc.dir/src/ruby/confine.cc.o CMakeFiles/libfactersrc.dir/src/ruby/fact.cc.o CMakeFiles/libfactersrc.dir/src/ruby/module.cc.o CMakeFiles/libfactersrc.dir/src/ruby/resolution.cc.o CMakeFiles/libfactersrc.dir/src/ruby/ruby.cc.o CMakeFiles/libfactersrc.dir/src/ruby/ruby_value.cc.o CMakeFiles/libfactersrc.dir/src/ruby/simple_resolution.cc.o CMakeFiles/libfactersrc.dir/src/util/scoped_file.cc.o CMakeFiles/libfactersrc.dir/src/util/string.cc.o CMakeFiles/libfactersrc.dir/src/util/config/config.cc.o CMakeFiles/libfactersrc.dir/src/util/yaml.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/collection.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/identity_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/networking_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/operatingsystem_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/processor_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/ssh_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/timezone_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/uptime_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/xen_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/cache.cc.o CMakeFiles/libfactersrc.dir/src/util/posix/scoped_addrinfo.cc.o CMakeFiles/libfactersrc.dir/src/util/posix/scoped_descriptor.cc.o CMakeFiles/libfactersrc.dir/src/util/config/posix/config.cc.o CMakeFiles/libfactersrc.dir/src/util/posix/scoped_bio.cc.o CMakeFiles/libfactersrc.dir/src/facts/posix/kernel_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/bsd/networking_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/glib/load_average_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/disk_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/dmi_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/filesystem_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/fips_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/kernel_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/memory_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/networking_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/operating_system_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/os_linux.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/uptime_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/collection.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/processor_resolver.cc.o CMakeFiles/libfactersrc.dir/src/facts/linux/virtualization_resolver.cc.o CMakeFiles/libfactersrc.dir/src/util/bsd/scoped_ifaddrs.cc.o -lcpp-hocon -lboost_locale -lboost_program_options -lboost_system -lboost_filesystem -lboost_date_time -lboost_regex -lboost_thread -lboost_chrono -lboost_atomic -lpthread /usr/lib/x86_64-linux-gnu/libleatherman_curl.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_ruby.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_execution.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_dynamic_library.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_file_util.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_util.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_logging.so.1.4.0 /usr/lib/x86_64-linux-gnu/libleatherman_locale.so.1.4.0 -lcrypto -lyaml-cpp -lcurl -lpthread /lib/x86_64-linux-gnu/libblkid.so.1 -lrt 
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib && /usr/bin/cmake -E cmake_symlink_library libfacter.so.3.11.0 libfacter.so.3.11.0 libfacter.so
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[ 57%] Built target libfacter
make -f lib/tests/CMakeFiles/mock-server.dir/build.make lib/tests/CMakeFiles/mock-server.dir/depend
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<PKGBUILDDIR>> /<<PKGBUILDDIR>>/lib/tests /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests/CMakeFiles/mock-server.dir/DependInfo.cmake --color=
Scanning dependencies of target mock-server
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make -f lib/tests/CMakeFiles/mock-server.dir/build.make lib/tests/CMakeFiles/mock-server.dir/build
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[ 58%] Building CXX object lib/tests/CMakeFiles/mock-server.dir/mock_server.cc.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests && /usr/bin/c++  -DBOOST_ALL_DYN_LINK -DBOOST_LOG_WITHOUT_WCHAR_T -DBOOST_SYSTEM_NO_DEPRECATED -DLEATHERMAN_I18N -DLEATHERMAN_LOGGING_NAMESPACE=\"puppetlabs.facter\" -DLEATHERMAN_USE_LOCALES -DPROJECT_DIR=\"/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu\" -DPROJECT_NAME=\"FACTER\" -DUSE_BLKID -DUSE_CPPHOCON -DUSE_CURL -DUSE_OPENSSL -DUSE_YAMLCPP -Dmock_server_EXPORTS -I/<<PKGBUILDDIR>>/lib/inc -I/<<PKGBUILDDIR>>/../vendor/nowide/include -I/<<PKGBUILDDIR>>/lib/tests/../inc -I/usr/include/x86_64-linux-gnu  -Wextra -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-maybe-uninitialized -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations -fPIC   -o CMakeFiles/mock-server.dir/mock_server.cc.o -c /<<PKGBUILDDIR>>/lib/tests/mock_server.cc
[ 59%] Linking CXX shared library ../libmock-server.so
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/mock-server.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -Wextra -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-maybe-uninitialized -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -shared -Wl,-soname,libmock-server.so -o ../libmock-server.so CMakeFiles/mock-server.dir/mock_server.cc.o -lboost_thread -lboost_system /lib/x86_64-linux-gnu/libblkid.so.1 -lrt 
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[ 59%] Built target mock-server
make -f lib/tests/CMakeFiles/libfacter_test.dir/build.make lib/tests/CMakeFiles/libfacter_test.dir/depend
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<PKGBUILDDIR>> /<<PKGBUILDDIR>>/lib/tests /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests/CMakeFiles/libfacter_test.dir/DependInfo.cmake --color=
Scanning dependencies of target libfacter_test
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make -f lib/tests/CMakeFiles/libfacter_test.dir/build.make lib/tests/CMakeFiles/libfacter_test.dir/build
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[ 60%] Building CXX object lib/tests/CMakeFiles/libfacter_test.dir/facts/array_value.cc.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib/tests && /usr/bin/c++  -DBOOST_ALL_DYN_LINK -DBOOST_LOG_WITHOUT_WCHAR_T -DBOOST_SYSTEM_NO_DEPRECATED -DLEATHERMAN_I18N -DLEATHERMAN_LOGGING_NAMESPACE=\"puppetlabs.facter\" -DLEATHERMAN_USE_LOCALES -DPROJECT_DIR=\"/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu\" -DPROJECT_NAME=\"FACTER\" -DUSE_BLKID -DUSE_CPPHOCON -DUSE_CURL -DUSE_OPENSSL -DUSE_YAMLCPP -Dlibfacter_EXPORTS -I/<<PKGBUILDDIR>>/lib/inc -I/<<PKGBUILDDIR>>/../vendor/nowide/include -I/<<PKGBUILDDIR>>/lib/tests/../inc -I/usr/include/x86_64-linux-gnu  -Wextra -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-maybe-uninitialized -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations   -o CMakeFiles/libfacter_test.dir/facts/array_value.cc.o -c /<<PKGBUILDDIR>>/lib/tests/facts/array_value.cc
In file included from /<<PKGBUILDDIR>>/lib/tests/facts/array_value.cc:1:
/<<PKGBUILDDIR>>/lib/tests/facts/array_value.cc: In function 'void ____C_A_T_C_H____T_E_S_T____0()':
/<<PKGBUILDDIR>>/lib/tests/facts/array_value.cc:24:64: error: catching polymorphic type 'class std::out_of_range' by value [-Werror=catch-value=]
             REQUIRE_THROWS_AS(value.get<string_value>(0), std::out_of_range);
                                                                ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [lib/tests/CMakeFiles/libfacter_test.dir/build.make:66: lib/tests/CMakeFiles/libfacter_test.dir/facts/array_value.cc.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:252: lib/tests/CMakeFiles/libfacter_test.dir/all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:144: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_build: cd obj-x86_64-linux-gnu && make -j1 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:10: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2
--------------------------------------------------------------------------------

The build was made with "dpkg-buildpackage -B" in my autobuilder.
Most probably, it also fails here in reproducible builds:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/facter.html

where you can get a full build log if you need it.

If this is really a bug in one of the build-depends, please use reassign and affects,
so that this is still visible in the BTS web page for this package.

Thanks.



More information about the Pkg-puppet-devel mailing list