https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116777

            Bug ID: 116777
           Summary: error: 'current_zone' is not a member of 'std::chrono'
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vital.had at gmail dot com
                CC: iains at gcc dot gnu.org, pinskia at gcc dot gnu.org
  Target Milestone: ---

The error was encountered when building a dependency of libfmt with gcc14:
```
make[2]: Leaving directory
`/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build'
/usr/bin/make  -f src/CMakeFiles/rsgain.dir/build.make
src/CMakeFiles/rsgain.dir/build
make[2]: Entering directory
`/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build'
[ 16%] Building CXX object src/CMakeFiles/rsgain.dir/easymode.cpp.o
cd
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build/src
&& /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DBUILD_DATE=\"2024-09-12\"
-I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build
-isystem /opt/local/include -isystem /opt/local/include/taglib -isystem
/opt/local/include/libfmt11 -pipe -Os -DNDEBUG -I/opt/local/include
-D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -MD
-MT src/CMakeFiles/rsgain.dir/easymode.cpp.o -MF
CMakeFiles/rsgain.dir/easymode.cpp.o.d -o CMakeFiles/rsgain.dir/easymode.cpp.o
-c
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/easymode.cpp
[ 33%] Building CXX object src/CMakeFiles/rsgain.dir/output.cpp.o
cd
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build/src
&& /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DBUILD_DATE=\"2024-09-12\"
-I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build
-isystem /opt/local/include -isystem /opt/local/include/taglib -isystem
/opt/local/include/libfmt11 -pipe -Os -DNDEBUG -I/opt/local/include
-D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -MD
-MT src/CMakeFiles/rsgain.dir/output.cpp.o -MF
CMakeFiles/rsgain.dir/output.cpp.o.d -o CMakeFiles/rsgain.dir/output.cpp.o -c
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.cpp
[ 50%] Building CXX object src/CMakeFiles/rsgain.dir/scan.cpp.o
cd
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build/src
&& /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DBUILD_DATE=\"2024-09-12\"
-I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build
-isystem /opt/local/include -isystem /opt/local/include/taglib -isystem
/opt/local/include/libfmt11 -pipe -Os -DNDEBUG -I/opt/local/include
-D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -MD
-MT src/CMakeFiles/rsgain.dir/scan.cpp.o -MF CMakeFiles/rsgain.dir/scan.cpp.o.d
-o CMakeFiles/rsgain.dir/scan.cpp.o -c
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/scan.cpp
[ 66%] Building CXX object src/CMakeFiles/rsgain.dir/rsgain.cpp.o
cd
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build/src
&& /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DBUILD_DATE=\"2024-09-12\"
-I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build
-isystem /opt/local/include -isystem /opt/local/include/taglib -isystem
/opt/local/include/libfmt11 -pipe -Os -DNDEBUG -I/opt/local/include
-D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -MD
-MT src/CMakeFiles/rsgain.dir/rsgain.cpp.o -MF
CMakeFiles/rsgain.dir/rsgain.cpp.o.d -o CMakeFiles/rsgain.dir/rsgain.cpp.o -c
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/rsgain.cpp
[ 83%] Building CXX object src/CMakeFiles/rsgain.dir/tag.cpp.o
cd
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build/src
&& /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DBUILD_DATE=\"2024-09-12\"
-I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build
-isystem /opt/local/include -isystem /opt/local/include/taglib -isystem
/opt/local/include/libfmt11 -pipe -Os -DNDEBUG -I/opt/local/include
-D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -MD
-MT src/CMakeFiles/rsgain.dir/tag.cpp.o -MF CMakeFiles/rsgain.dir/tag.cpp.o.d
-o CMakeFiles/rsgain.dir/tag.cpp.o -c
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/tag.cpp
In file included from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.hpp:66,
                 from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.cpp:51:
/opt/local/include/libfmt11/fmt/chrono.h: In function 'tm
fmt::v11::localtime(std::chrono::local_time<_Duration>)':
/opt/local/include/libfmt11/fmt/chrono.h:559:38: error: 'current_zone' is not a
member of 'std::chrono'
  559 |       detail::to_time_t(std::chrono::current_zone()->to_sys(time)));
      |                                      ^~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/rsgain.dir/output.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.hpp:66,
                 from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/tag.cpp:65:
/opt/local/include/libfmt11/fmt/chrono.h: In function 'tm
fmt::v11::localtime(std::chrono::local_time<_Duration>)':
/opt/local/include/libfmt11/fmt/chrono.h:559:38: error: 'current_zone' is not a
member of 'std::chrono'
  559 |       detail::to_time_t(std::chrono::current_zone()->to_sys(time)));
      |                                      ^~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/rsgain.dir/tag.cpp.o] Error 1
In file included from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.hpp:66,
                 from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/scan.cpp:55:
/opt/local/include/libfmt11/fmt/chrono.h: In function 'tm
fmt::v11::localtime(std::chrono::local_time<_Duration>)':
/opt/local/include/libfmt11/fmt/chrono.h:559:38: error: 'current_zone' is not a
member of 'std::chrono'
  559 |       detail::to_time_t(std::chrono::current_zone()->to_sys(time)));
      |                                      ^~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/rsgain.dir/scan.cpp.o] Error 1
In file included from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.hpp:66,
                 from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/rsgain.cpp:58:
/opt/local/include/libfmt11/fmt/chrono.h: In function 'tm
fmt::v11::localtime(std::chrono::local_time<_Duration>)':
/opt/local/include/libfmt11/fmt/chrono.h:559:38: error: 'current_zone' is not a
member of 'std::chrono'
  559 |       detail::to_time_t(std::chrono::current_zone()->to_sys(time)));
      |                                      ^~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/rsgain.dir/rsgain.cpp.o] Error 1
In file included from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/output.hpp:66,
                 from
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/rsgain-3.5.2/src/easymode.cpp:26:
/opt/local/include/libfmt11/fmt/chrono.h: In function 'tm
fmt::v11::localtime(std::chrono::local_time<_Duration>)':
/opt/local/include/libfmt11/fmt/chrono.h:559:38: error: 'current_zone' is not a
member of 'std::chrono'
  559 |       detail::to_time_t(std::chrono::current_zone()->to_sys(time)));
      |                                      ^~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/rsgain.dir/easymode.cpp.o] Error 1
make[2]: Leaving directory
`/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build'
make[1]: *** [src/CMakeFiles/rsgain.dir/all] Error 2
make[1]: Leaving directory
`/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_rsgain/rsgain/work/build'
make: *** [all] Error 2
```

libfmt upstream says this is a regression in libstdc++:
https://github.com/fmtlib/fmt/issues/4160

Could someone take a look into this, please?

See also:
https://github.com/complexlogic/rsgain/issues/126

Reply via email to