After configuring lto according to wiki, started to rebuild the world ast.hpp:127:9: error: virtual table of type 'struct Expression' violates one definition rule [-Werror=odr] 127 | class Expression : public AST_Node { | ^ ast.hpp:127:9: note: the conflicting type defined in another translation unit 127 | class Expression : public AST_Node { | ^ <built-in>: note: virtual method '__cxa_pure_virtual' ast.hpp:155:13: note: ought to match virtual method '__conv_op ' but does not 155 | virtual operator bool() { return true; } | ^ lto1: some warnings being treated as errors I think it's double include. Reproducible: Always
emerge -pqv '=dev-libs/libsass-3.6.6::gentoo' [ebuild R ] dev-libs/libsass-3.6.6
Created attachment 917731 [details] emerge --info
Build log: https://nhorus.no-ip.biz/sharables/libsass.log
Created attachment 917732 [details] compressed, ansifiltered build log
Reported upstream in https://github.com/sass/libsass/issues/3193
Upstream recommends to build without "-fno-semantic-interposition" After changing flags, package builds with -flto.
Fixed in: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2119b4f0306f3133015e42fb55dcd442dfecf40