On Tue, 24 Jan 2023 at 07:29, Jeff Law <jeffreyalaw@xxxxxxxxx> wrote: > > > > On 1/24/23 00:16, Jakub Jelinek wrote: > > On Tue, Jan 24, 2023 at 10:00:47AM +0300, Vascom wrote: > >> I have some packages failed. > >> One of them libtins. Problem is that: > >> > >> error: 'uint32_t' is not a member of 'std'; > >> > >> Is it normal? Is it GCC 13 change? > > > > See > > https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes > > Some libstdc++ headers included <cstdint> in older versions > > as an implementation detail but no longer do. > > > > Including stdint.h will introduce ::uint32_t type among others, > > but not std::uint32_t, if you use the latter, you need to > > include <cstdint>. > I've got a partial list of packages affected by the ongoing header > cleanups in libstdc++: > > intel-igc > j4-dmenu-desktop > julia > jd > jigdo > mtxclient > openclonk > texlive-base > tcpflow > synergy > R-svglite > rstudio > rssguard > rpi-imager > rocm-opencl > rocksdb > qucs > parzip > root > openmsx > openlierox > openexr > openexr2 > openms > mongo-cxx-driver > kakoune > > > I'm sure there's more, I've probably looked at about 20% of the packaged > I'd flagged as needing further analysis. But that might help folks > chase these things down. The header cleanups will continue until morale improves! The point of these changes is to speed up compilation. Removing unnecessary headers means the compiler has less work to do, so koji builds use less time and less power. The fixed package also becomes more portable and more standard conforming. The <cstdint> header isn't expensive to compile, but what changed is actually that <stdexcept> and <string> are no longer included in so many places, and those were transitively including <cstdint>. Not including <string> where it isn't needed removes thousands of lines of code. Most code seems to remember to include <string> to use std::string, but everybody forgets to include <cstdint> for std::int32_t etc. Looks like these have that issue and need to include <cstdint>: widelands warzone2100 uhd usd tcpflow synergy snapper safeint rstudio rocksdb rocm-opencl prusa-slicer plug pingus paraview openms openmsx I didn't look at any packages starting with the letters A-N so there are probably more. Similarly, supertuxkart is missing <stdio.h> or <cstdio>. pdns is missing <stdexcept> openvdb failed but should work OK now as there's been an updated tbb. _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue