Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-123338

cmake translation handling not backwards compatible

    XMLWordPrintable

Details

    • e8b61043a (dev), 10b08bbde (6.7), dddd65522 (6.7.0)

    Description

      I've noticed that there's some change according to qt_add_translations mentioned in the blog. If I keep the Qt 6.6 compatible mechanism, lupdate starts to mix up all the translations of all modules.

      Just added a small example that reproduces it with 6.7.0rc and the output.

      Qt 6.6.2:

      ~/tmp/build-smoothoperator-Desktop_Qt_6_6_2_GCC_64bit-Debug
      ❯ ninja update_translations 
      [1/3] cd /home/prcs1076/tmp/build-smoothoperator-Desktop_Qt_6_6_2_GCC_64bit-Debug/extone/s...r-Desktop_Qt_6_6_2_GCC_64bit-Debug/extone/subext/.lupdate/subext_project.json -no-obsolete
      Updating '../../../smoothoperator/i18n/subext_de.ts'...
          Found 1 source text(s) (0 new and 1 already existing)
      Updating '../../../smoothoperator/i18n/subext_en.ts'...
          Found 1 source text(s) (0 new and 1 already existing)
      [2/3] cd /home/prcs1076/tmp/build-smoothoperator-Desktop_Qt_6_6_2_GCC_64bit-Debug/extone &...operator-Desktop_Qt_6_6_2_GCC_64bit-Debug/extone/.lupdate/extone_project.json -no-obsolete
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:343: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:848: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:862: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:880: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:894: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:908: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:923: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:937: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:951: Ignoring definition of undeclared qualified class
      Updating '../../smoothoperator/i18n/extone_de.ts'...
          Found 1 source text(s) (0 new and 1 already existing)
      Updating '../../smoothoperator/i18n/extone_en.ts'...
          Found 1 source text(s) (0 new and 1 already existing)
      [3/3] cd /home/prcs1076/tmp/build-smoothoperator-Desktop_Qt_6_6_2_GCC_64bit-Debug && /var/...ator-Desktop_Qt_6_6_2_GCC_64bit-Debug/.lupdate/appsmoothoperator_project.json -no-obsolete
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:343: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:848: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:862: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:880: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:894: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:908: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:923: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:937: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.6.2/gcc_64/include/QtQml/qqmlprivate.h:951: Ignoring definition of undeclared qualified class
      Updating '../smoothoperator/i18n/main_de.ts'...
          Found 1 source text(s) (0 new and 1 already existing)
      Updating '../smoothoperator/i18n/main_en.ts'...
          Found 1 source text(s) (0 new and 1 already existing)
      

      Qt 6.7.0rc

      ~/tmp/build-smoothoperator-Desktop_Qt_6_7_0_64-Debug
      ❯ ninja update_translations 
      [1/3] cd /home/prcs1076/tmp/build-smoothoperator-Desktop_Qt_6_7_0_64-Debug && /var/home/pr...rator-Desktop_Qt_6_7_0_64-Debug/.lupdate/smoothoperator_lupdate1_project.json -no-obsolete
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:344: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:843: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:857: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:875: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:889: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:903: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:918: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:932: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:946: Ignoring definition of undeclared qualified class
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator: die zu öffnende Datei ist ein Verzeichnis
      Updating '../smoothoperator/i18n/subext_de.ts'...
          Found 3 source text(s) (0 new and 3 already existing)
      Updating '../smoothoperator/i18n/subext_en.ts'...
          Found 3 source text(s) (0 new and 3 already existing)
      [2/3] cd /home/prcs1076/tmp/build-smoothoperator-Desktop_Qt_6_7_0_64-Debug && /var/home/pr...erator-Desktop_Qt_6_7_0_64-Debug/.lupdate/smoothoperator_lupdate_project.json -no-obsolete
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:344: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:843: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:857: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:875: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:889: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:903: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:918: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:932: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:946: Ignoring definition of undeclared qualified class
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator: die zu öffnende Datei ist ein Verzeichnis
      Updating '../smoothoperator/i18n/extone_de.ts'...
          Found 3 source text(s) (0 new and 3 already existing)
      Updating '../smoothoperator/i18n/extone_en.ts'...
          Found 3 source text(s) (0 new and 3 already existing)
      [3/3] cd /home/prcs1076/tmp/build-smoothoperator-Desktop_Qt_6_7_0_64-Debug && /var/home/pr...rator-Desktop_Qt_6_7_0_64-Debug/.lupdate/smoothoperator_lupdate2_project.json -no-obsolete
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:344: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:843: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:857: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:875: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:889: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:903: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:918: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:932: Ignoring definition of undeclared qualified class
      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:946: Ignoring definition of undeclared qualified class
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator/extone/subext: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator: die zu öffnende Datei ist ein Verzeichnis
      Cannot open /home/prcs1076/tmp/smoothoperator: die zu öffnende Datei ist ein Verzeichnis
      Updating '../smoothoperator/i18n/main_de.ts'...
          Found 3 source text(s) (0 new and 3 already existing)
      Updating '../smoothoperator/i18n/main_en.ts'...
          Found 3 source text(s) (0 new and 3 already existing)
      

      The updated ts files for 6.7.0rc contain all the strings each, which is not expected. And no idea what the

      /var/home/prcs1076/Qt/6.7.0/gcc_64/include/QtQml/qqmlprivate.h:344: Ignoring definition of undeclared qualified class

      comes from.

      Additionally the 6.7.0rc update call runs in an endless loop for the real life application and must be killed after sucking the CPU for hours. I've no idea yet what the cause is - maybe someone has an idea where I can look at...

      Attachments

        For Gerrit Dashboard: QTBUG-123338
        # Subject Branch Project Status CR V

        Activity

          People

            jbornema Joerg Bornemann
            cajus Cajus Pollmeier
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes