Details

    Description

      fmtlib upstream removed the ability to control locale usage via an undocumented FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE. The issue is related to the commit https://github.com/fmtlib/fmt/commit/b3ccc2d2100052b3a3079941febf2494caa07402. This change makes the mariadb fail to configure with -DWITH_LIBFMT=system when fmtlib 11.1.0 or newer is installed in the system. See also https://bugs.gentoo.org/946924.

      Attachments

        Issue Links

          Activity

            reported an issue for fmtlib.

            If it's broken temporarily — meaning, if they'll add it back or implement another way of quickly adding thousand separators (perhaps we can override some class or whatever) — then I'll change the server to test for that and fallback to bundled fmtlib if the workaround is not available.

            If it's broken permanently, I suppose, we'll have to remove {:L} support from SFROMAT().

            serg Sergei Golubchik added a comment - reported an issue for fmtlib. If it's broken temporarily — meaning, if they'll add it back or implement another way of quickly adding thousand separators (perhaps we can override some class or whatever) — then I'll change the server to test for that and fallback to bundled fmtlib if the workaround is not available. If it's broken permanently, I suppose, we'll have to remove { :L } support from SFROMAT() .
            serg Sergei Golubchik added a comment - - edited

            Changing to a feature request, because it's not a bug, the current behavior is correct. System libfmt is unusable (because {:L} doesn't work), cmake correctly detects it and falls back to bundled libfmt.

            We need to do something to support libfmt 11.1+, but the current build behavior is correct.

            serg Sergei Golubchik added a comment - - edited Changing to a feature request, because it's not a bug, the current behavior is correct. System libfmt is unusable (because { :L } doesn't work), cmake correctly detects it and falls back to bundled libfmt. We need to do something to support libfmt 11.1+, but the current build behavior is correct.
            arkamar Petr Vaněk added a comment -

            Ok, we are currently limiting libfmt to older versions for mariadb in gentoo package.

            arkamar Petr Vaněk added a comment - Ok, we are currently limiting libfmt to older versions for mariadb in gentoo package.
            svoj Sergey Vojtovich added a comment -

            From the discussion it is unclear if https://github.com/MariaDB/server/pull/3786 contains anything that we will want to have merged. If we're waiting for something, please indicate what exactly we're waiting for and how this pull request stands in relation to this wait.

            svoj Sergey Vojtovich added a comment - From the discussion it is unclear if https://github.com/MariaDB/server/pull/3786 contains anything that we will want to have merged. If we're waiting for something, please indicate what exactly we're waiting for and how this pull request stands in relation to this wait.
            serg Sergei Golubchik added a comment -

            What does https://github.com/MariaDB/server/pull/3786 have to do with the problem in the issue description? It seems to be solving something unrelated

            serg Sergei Golubchik added a comment - What does https://github.com/MariaDB/server/pull/3786 have to do with the problem in the issue description? It seems to be solving something unrelated
            serg Sergei Golubchik added a comment - - edited

            will switch fmt to use proper std::locale. The slowdown is about 30% but only if :L is specified.

            serg Sergei Golubchik added a comment - - edited will switch fmt to use proper std::locale . The slowdown is about 30% but only if :L is specified.
            svoj Sergey Vojtovich added a comment -

            I got an impression they're related after reading grooverdan's comment:

            Currently because libfmt changed the API by removing the thousands separator (fmtlib/fmt#4284) and we haven't written a compatibility for the newer libfmt yet.

            ref: https://jira.mariadb.org/browse/MDEV-35746

            But apparently they're different indeed. Do you want me to create another issue for PR#3786?

            svoj Sergey Vojtovich added a comment - I got an impression they're related after reading grooverdan's comment: Currently because libfmt changed the API by removing the thousands separator (fmtlib/fmt#4284) and we haven't written a compatibility for the newer libfmt yet. ref: https://jira.mariadb.org/browse/MDEV-35746 But apparently they're different indeed. Do you want me to create another issue for PR#3786?
            serg Sergei Golubchik added a comment - - edited

            yes, please. This one is used for fixing the separator issue

            serg Sergei Golubchik added a comment - - edited yes, please. This one is used for fixing the separator issue
            wlad Vladislav Vaintroub added a comment -

            Looks good to me

            wlad Vladislav Vaintroub added a comment - Looks good to me

            People

              serg Sergei Golubchik
              arkamar Petr Vaněk
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.