Created attachment 517708 [details] build log for dev-qt/linguist-tools-5.9.4 g++ -c -fno-lto -O2 -march=native -fomit-frame-pointer -pipe -std=c++1z -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DPROEVALUATOR_CUMULATIVE -DPROEVALUATOR_INIT_PROPS -DQMAKE_BUILTIN_PRFS -DQMAKE_OVERRIDE_PRFS -DPROEVALUATOR_DEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_QMLDEVTOOLS_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I../shared -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtQml/5.9.4 -isystem /usr/include/qt5/QtQml/5.9.4/QtQml -isystem /usr/include/qt5/QtCore/5.9.4 -isystem /usr/include/qt5/QtCore/5.9.4/QtCore -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtCore -I.moc -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/qrc_proparser.o .rcc/qrc_proparser.cpp g++ -Wl,-O2 -Wl,--as-needed -Wl,--gc-sections -Wl,--enable-new-dtags -o ../../../bin/lupdate .obj/numerus.o .obj/translator.o .obj/translatormessage.o .obj/qm.o .obj/qph.o .obj/po.o .obj/ts.o .obj/xliff.o .obj/ioutils.o .obj/qmakevfs.o .obj/proitems.o .obj/qmakeglobals.o .obj/qmakeparser.o .obj/qmakeevaluator.o .obj/qmakebuiltins.o .obj/profileevaluator.o .obj/main.o .obj/merge.o .obj/simtexth.o .obj/cpp.o .obj/java.o .obj/ui.o .obj/qdeclarative.o .obj/qrc_proparser.o -lQt5QmlDevTools -lQt5Xml -lQt5Core -lpthread .obj/qdeclarative.o: In function `load(Translator&, QString const&, ConversionData&, bool)': qdeclarative.cpp:(.text+0x229d): undefined reference to `QQmlJS::Engine::Engine()' qdeclarative.cpp:(.text+0x22b4): undefined reference to `QQmlJS::Parser::Parser(QQmlJS::Engine*)' qdeclarative.cpp:(.text+0x22bf): undefined reference to `QQmlJS::Lexer::Lexer(QQmlJS::Engine*)' qdeclarative.cpp:(.text+0x22db): undefined reference to `QQmlJS::Lexer::setCode(QString const&, int, bool)' qdeclarative.cpp:(.text+0x22e6): undefined reference to `QQmlJS::Engine::setLexer(QQmlJS::Lexer*)' qdeclarative.cpp:(.text+0x22f4): undefined reference to `QQmlJS::Parser::parse(int)' qdeclarative.cpp:(.text+0x230b): undefined reference to `QQmlJS::AST::Visitor::Visitor()' qdeclarative.cpp:(.text+0x23ac): undefined reference to `QQmlJS::Engine::comments() const' qdeclarative.cpp:(.text+0x245b): undefined reference to `QQmlJS::AST::Node::accept(QQmlJS::AST::Node*, QQmlJS::AST::Visitor*)' qdeclarative.cpp:(.text+0x25b2): undefined reference to `QQmlJS::AST::Visitor::~Visitor()' qdeclarative.cpp:(.text+0x2636): undefined reference to `QQmlJS::Parser::~Parser()' qdeclarative.cpp:(.text+0x263e): undefined reference to `QQmlJS::Engine::~Engine()' qdeclarative.cpp:(.text+0x2720): undefined reference to `QQmlJS::Engine::Engine()' qdeclarative.cpp:(.text+0x2737): undefined reference to `QQmlJS::Parser::Parser(QQmlJS::Engine*)' qdeclarative.cpp:(.text+0x2742): undefined reference to `QQmlJS::Lexer::Lexer(QQmlJS::Engine*)' qdeclarative.cpp:(.text+0x2761): undefined reference to `QQmlJS::Lexer::setCode(QString const&, int, bool)' qdeclarative.cpp:(.text+0x276c): undefined reference to `QQmlJS::Engine::setLexer(QQmlJS::Lexer*)' qdeclarative.cpp:(.text+0x277a): undefined reference to `QQmlJS::Parser::parse(int)' .obj/qdeclarative.o: In function `FindTrCalls::~FindTrCalls()': qdeclarative.cpp:(.text._ZN11FindTrCallsD2Ev[_ZN11FindTrCallsD5Ev]+0xf1): undefined reference to `QQmlJS::AST::Visitor::~Visitor()' qdeclarative.cpp:(.text._ZN11FindTrCallsD2Ev[_ZN11FindTrCallsD5Ev]+0x1c4): undefined reference to `QQmlJS::AST::Visitor::~Visitor()' .obj/qdeclarative.o: In function `FindTrCalls::~FindTrCalls()': qdeclarative.cpp:(.text._ZN11FindTrCallsD0Ev[_ZN11FindTrCallsD5Ev]+0xf0): undefined reference to `QQmlJS::AST::Visitor::~Visitor()' .obj/qdeclarative.o:(.data.rel.ro._ZTI11FindTrCalls[_ZTI11FindTrCalls]+0x18): undefined reference to `typeinfo for QQmlJS::AST::Visitor' collect2: error: ld returned 1 exit status make[1]: *** [Makefile:151: ../../../bin/lupdate] Error 1 make[1]: Leaving directory '/var/tmp/portage/dev-qt/linguist-tools-5.9.4/work/qttools-opensource-src-5.9.4/src/linguist/lupdate' make: *** [Makefile:72: sub-lupdate-make_first] Error 2 blocks the rest of qt 5.9.4 from merging
This appears to a problem using -flto when compiling dev-qt/*. I had -flto in my make.conf file but needed to override that with "dev-qt/qtcore compiler-gcc-fno-lto" in package.env to get dev-qt/core-5.9.4 to install. The other 5.9.4 upgrades were installing fine until I hit dev-qt/linguist-tools. Some research led me to the QQmlJS styuff being supplied by dev-qt/qtdeclarative, so I rebuilt that with -fno-lto and was able to install dev-qt/linguist-tools-5.9.4. But then later ran into a problem with dev-qt/qtwayland-5.94, so I rebuilt all previous dev-qt/* packages without using -flto in my make.conf, and all (previous and following) installed fine. Seems dev-qt/*-5.9.4 has an issue with -flto.
Sorry, you're on your own if you build with LTO.