Bug 2338609

Summary: meshlab fails to build with GCC 15 (-Wtemplate-body)
Product: [Fedora] Fedora Reporter: Siddhesh Poyarekar <sipoyare>
Component: meshlabAssignee: Eric Smith <spacewar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 42CC: mhroncok, releng, spacewar, spotrh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: meshlab-2023.12-11.fc42 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-04-01 16:08:50 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: 2300528, 2333037    

Description Siddhesh Poyarekar 2025-01-17 14:10:05 UTC
This bug was initially created as a copy of Bug #2336713

A meshlab build throws the following errors when built with gcc15:

In file included from /builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import.h:68,
                 from /builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/external/downloads/nexus-master/src/nxsbuild/vcgloader.h:5,
                 from /builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/external/downloads/nexus-master/src/nxsbuild/meshstream.cpp:28:
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h: In member function ‘int vcg::tri::io::ImporterPLY<OpenMeshType>::LoadCamera(const char*)’:
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1092:31: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘pi’ [-Wtemplate-body]
 1092 |                         this->pi.status = pf.GetError();
      |                               ^~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1093:38: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘pi’ [-Wtemplate-body]
 1093 |                         return this->pi.status;
      |                                      ^~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1108:38: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘pi’ [-Wtemplate-body]
 1108 |                         return this->pi.status;
      |                                      ^~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1124:55: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘pi’ [-Wtemplate-body]
 1124 |                                                 this->pi.status = PlyInfo::E_SHORTFILE;
      |                                                       ^~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1125:62: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘pi’ [-Wtemplate-body]
 1125 |                                                 return this->pi.status;
      |                                                              ^~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1127:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1127 |                                         this->camera.valid     = true;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1128:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1128 |                                         this->camera.view_p[0] = ca.view_px;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1129:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1129 |                                         this->camera.view_p[1] = ca.view_py;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1130:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1130 |                                         this->camera.view_p[2] = ca.view_pz;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1131:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1131 |                                         this->camera.x_axis[0] = ca.x_axisx;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1132:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1132 |                                         this->camera.x_axis[1] = ca.x_axisy;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1133:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1133 |                                         this->camera.x_axis[2] = ca.x_axisz;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1134:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1134 |                                         this->camera.y_axis[0] = ca.y_axisx;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1135:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1135 |                                         this->camera.y_axis[1] = ca.y_axisy;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1136:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1136 |                                         this->camera.y_axis[2] = ca.y_axisz;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1137:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1137 |                                         this->camera.z_axis[0] = ca.z_axisx;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1138:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1138 |                                         this->camera.z_axis[1] = ca.z_axisy;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1139:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1139 |                                         this->camera.z_axis[2] = ca.z_axisz;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1140:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1140 |                                         this->camera.f         = ca.focal;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1141:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1141 |                                         this->camera.s[0]      = ca.scalex;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1142:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1142 |                                         this->camera.s[1]      = ca.scaley;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1143:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1143 |                                         this->camera.c[0]      = ca.centerx;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1144:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1144 |                                         this->camera.c[1]      = ca.centery;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1145:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1145 |                                         this->camera.viewport[0] = ca.viewportx;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1146:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1146 |                                         this->camera.viewport[1] = ca.viewporty;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1147:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1147 |                                         this->camera.k[0]      = ca.k1;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1148:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1148 |                                         this->camera.k[1]      = ca.k2;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1149:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1149 |                                         this->camera.k[2]      = ca.k3;
      |                                               ^~~~~~
/builddir/build/BUILD/meshlab-2023.12-build/meshlab-MeshLab-2023.12/src/vcglib/wrap/io_trimesh/import_ply.h:1150:47: error: ‘class vcg::tri::io::ImporterPLY<OpenMeshType>’ has no member named ‘camera’ [-Wtemplate-body]
 1150 |                                         this->camera.k[3]      = ca.k4;
      |                                               ^~~~~~


See:

https://fedoraproject.org/wiki/F42-gcc-15-mass-prebuild#C++:_error_with_-Wtemplate-body
https://trofi.github.io/posts/322-gcc-15-template-checking-improvements.html

for more details and hints on how to fix this.

Comment 1 Miro Hrončok 2025-01-23 11:52:59 UTC
*** Bug 2340844 has been marked as a duplicate of this bug. ***

Comment 2 Aoife Moloney 2025-02-26 13:24:36 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 3 Fedora Update System 2025-03-24 15:27:51 UTC
FEDORA-2025-8b4a758d6d (meshlab-2023.12-11.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-8b4a758d6d

Comment 4 Fedora Update System 2025-03-25 02:00:18 UTC
FEDORA-2025-8b4a758d6d has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-8b4a758d6d`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-8b4a758d6d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2025-04-01 16:08:50 UTC
FEDORA-2025-8b4a758d6d (meshlab-2023.12-11.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.