https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: sys-apps/usbguard-1.0.0 fails to compile. Discovered on: amd64 (internal ref: ci)
Created attachment 686106 [details] build.log build log and emerge --info
Possible context of error(s): umockdev: not found test_UEvent.cpp:(.text+0x182): undefined reference to `usbguard::UEvent::UEvent()' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x25e): undefined reference to `usbguard::UEvent::setAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x3a2): undefined reference to `usbguard::UEvent::setAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x4b9): undefined reference to `usbguard::UEvent::setAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x6bc): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x7b1): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x8c1): undefined reference to `usbguard::UEvent::hasAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0xadf): undefined reference to `usbguard::UEvent::setAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0xba3): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0xc99): undefined reference to `usbguard::UEvent::hasAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0xe53): undefined reference to `usbguard::UEvent::hasRequiredAttributes() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0xee9): undefined reference to `usbguard::UEvent::getHeaderLine[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0xf6d): undefined reference to `usbguard::UEvent::toString[abi:cxx11](char) const' test_UEvent.cpp:(.text+0x12bf): undefined reference to `usbguard::UEvent::UEvent()' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x144f): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1544): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1651): undefined reference to `usbguard::UEvent::hasAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x16f6): undefined reference to `usbguard::UEvent::hasRequiredAttributes() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1789): undefined reference to `usbguard::UEvent::clear()' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x196c): undefined reference to `usbguard::UEvent::setAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1a30): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1b28): undefined reference to `usbguard::UEvent::hasAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1bcd): undefined reference to `usbguard::UEvent::hasRequiredAttributes() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1c60): undefined reference to `usbguard::UEvent::clear()' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1e73): undefined reference to `usbguard::UEvent::toString[abi:cxx11](char) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEvent.cpp:(.text+0x1fb6): undefined reference to `usbguard::UEvent::getHeaderLine[abi:cxx11]() const' test_UEventParser.cpp:(.text+0xcc): undefined reference to `usbguard::UEvent::UEvent()' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x1b8): undefined reference to `usbguard::UEvent::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x1c3): undefined reference to `usbguard::UEvent::operator=(usbguard::UEvent&&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x254): undefined reference to `usbguard::UEvent::hasRequiredAttributes() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x331): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x441): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x549): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x64a): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x74b): undefined reference to `usbguard::UEvent::getAttribute(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' test_UEventParser.cpp:(.text+0x105f): undefined reference to `usbguard::UEvent::getHeaderLine[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UEventParser.cpp:(.text+0x10e8): undefined reference to `usbguard::UEvent::toString[abi:cxx11](char) const' test_UMockdevDeviceDefinition.cpp:(.text+0x40): undefined reference to `usbguard::UMockdevDeviceDefinition::UMockdevDeviceDefinition()' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x1be): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevName[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x2a1): undefined reference to `usbguard::UMockdevDeviceDefinition::getSysfsPath[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x384): undefined reference to `usbguard::UMockdevDeviceDefinition::getDevfsNode[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x467): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevDefinition[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x52e): undefined reference to `usbguard::UMockdevDeviceDefinition::hasDevfsNode() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x5f2): undefined reference to `usbguard::UMockdevDeviceDefinition::operator bool() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x792): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevName[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x897): undefined reference to `usbguard::UMockdevDeviceDefinition::setUMockdevName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x915): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevName[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x9e4): undefined reference to `usbguard::UMockdevDeviceDefinition::getSysfsPath[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xb16): undefined reference to `usbguard::UMockdevDeviceDefinition::setSysfsPath(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xb94): undefined reference to `usbguard::UMockdevDeviceDefinition::getSysfsPath[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xc63): undefined reference to `usbguard::UMockdevDeviceDefinition::getDevfsNode[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xd91): undefined reference to `usbguard::UMockdevDeviceDefinition::setDevfsNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xe0f): undefined reference to `usbguard::UMockdevDeviceDefinition::getDevfsNode[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xec2): undefined reference to `usbguard::UMockdevDeviceDefinition::hasDevfsNode() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0xf7b): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevDefinition[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x1069): undefined reference to `usbguard::UMockdevDeviceDefinition::operator bool() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x1180): undefined reference to `usbguard::UMockdevDeviceDefinition::setUMockdevDefinition(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x11fe): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevDefinition[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x12d8): undefined reference to `usbguard::UMockdevDeviceDefinition::operator bool() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x14df): undefined reference to `usbguard::UMockdevDeviceDefinition::parseFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x17a8): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevDefinition[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x17b8): undefined reference to `usbguard::UMockdevDeviceDefinition::getUMockdevDefinition[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x1a2d): undefined reference to `usbguard::UMockdevDeviceDefinition::getSysfsPath[abi:cxx11]() const' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: test_UMockdevDeviceDefinition.cpp:(.text+0x1aec): undefined reference to `usbguard::UMockdevDeviceDefinition::getSysfsPath[abi:cxx11]() const' test_UMockdevDeviceDefinition.cpp:(.text._ZN5Catch6Detail15StringMakerBaseILb1EE7convertIN8usbguard24UMockdevDeviceDefinitionEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_[_ZN5Catch6Detail15StringMakerBaseILb1EE7convertIN8usbguard24UMockdevDeviceDefinitionEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_]+0x161): undefined reference to `usbguard::UMockdevDeviceDefinition::operator bool() const' collect2: error: ld returned 1 exit status
Thanks for the report!
I was able to reproduce the link error using USE=-static-libs ebuild usbguard-1.0.0.ebuild manifest clean test just now.
Reported upstream
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21ee375a5505b2c953d46eeac85980be0b995636 commit 21ee375a5505b2c953d46eeac85980be0b995636 Author: Sebastian Pipping <sping@gentoo.org> AuthorDate: 2021-02-09 15:09:19 +0000 Commit: Sebastian Pipping <sping@gentoo.org> CommitDate: 2021-02-09 15:42:31 +0000 sys-apps/usbguard: Fix required use for tests, fix umockdev automagic Closes: https://bugs.gentoo.org/769692 Signed-off-by: Sebastian Pipping <sping@gentoo.org> Package-Manager: Portage-3.0.14, Repoman-3.0.2 sys-apps/usbguard/metadata.xml | 3 + sys-apps/usbguard/usbguard-1.0.0-r1.ebuild | 99 ++++++++++++++++++++++++++++++ sys-apps/usbguard/usbguard-1.0.0.ebuild | 8 ++- 3 files changed, 109 insertions(+), 1 deletion(-)