Bug 2162550

Summary: meshlab: FTBFS with GCC 13: missing include <cstdint>
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: meshlabAssignee: Miro Hrončok <mhroncok>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, spacewar, spotrh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/meshlab
Whiteboard:
Fixed In Version: meshlab-2022.02-3.fc38 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-01-20 05:03:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2117176    

Description Miro Hrončok 2023-01-19 22:54:35 UTC
Description of problem:
Package meshlab fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
2022.02-1.fc38

Steps to Reproduce:
koji build --scratch f38 meshlab-2022.02-1.fc38.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/meshlab

--------------------

In file included from /builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/src/Common.h:40,
                 from /builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/src/NodeImpl.h:30,
                 from /builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/src/BlobNodeImpl.h:29,
                 from /builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/src/BlobNodeImpl.cpp:28:
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:42:15: error: 'int16_t' has not been declared in 'std'
   42 |    using std::int16_t;
      |               ^~~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:43:15: error: 'int32_t' has not been declared in 'std'
   43 |    using std::int32_t;
      |               ^~~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:44:15: error: 'int64_t' has not been declared in 'std'
   44 |    using std::int64_t;
      |               ^~~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:45:15: error: 'int8_t' has not been declared in 'std'
   45 |    using std::int8_t;
      |               ^~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:46:15: error: 'uint16_t' has not been declared in 'std'
   46 |    using std::uint16_t;
      |               ^~~~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:47:15: error: 'uint32_t' has not been declared in 'std'
   47 |    using std::uint32_t;
      |               ^~~~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:48:15: error: 'uint64_t' has not been declared in 'std'
   48 |    using std::uint64_t;
      |               ^~~~~~~~
/builddir/build/BUILD/meshlab-MeshLab-2022.02/src/external/e57/include/E57Format.h:49:15: error: 'uint8_t' has not been declared in 'std'
   49 |    using std::uint8_t;
      |               ^~~~~~~
[  6%] Copying blurVSM.vert to decorate_shadow/vsmb in shader build directory


--------


Looks like a missing include for <cstdint> -- https://gcc.gnu.org/gcc-13/porting_to.html


C++ language issues
Header dependency changes

Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.

The following headers are used less widely in libstdc++ and may need to be included explicitly when compiling with GCC 13:

    <string> (for std::string, std::to_string, std::stoi etc.)
    <system_error> (for std::error_code, std::error_category, std::system_error).
    <cstdint> (for std::int8_t, std::int32_t etc.)
    <cstdio> (for std::printf, std::fopen etc.)
    <cstdlib> (for std::strtol, std::malloc etc.)

Comment 1 Miro Hrončok 2023-01-19 22:57:33 UTC
Upstream of the bundled e57 library added that here: https://github.com/asmaloney/libE57Format/commit/f554fc32f037a101a06e2925604ce4336c498adc

Comment 3 Fedora Update System 2023-01-20 00:40:15 UTC
FEDORA-2023-dded57b0bf has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-dded57b0bf

Comment 4 Fedora Update System 2023-01-20 05:03:52 UTC
FEDORA-2023-dded57b0bf has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.