cd meshlabplugins/filter_csg/ && make -f Makefile
make[1]: Entering directory '/home/username/meshlab/src/meshlabplugins/filter_csg'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtScript -I/usr/include/qt4 -I../.. -I../../../../vcglib -I../../external/glew-1.5.1/include -I/usr/X11R6/include -I. -o filter_csg.o filter_csg.cpp
In file included from filter_csg.cpp:29:
gmpfrac.h:5:20: error: mpirxx.h: file or directotry not found
and later on:
In file included from ../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:42,
from filter_csg.cpp:25:
../../../../vcglib/vcg/complex/algorithms/create/emc_lookup_table.h:38: warning: type qualifiers ignored on function return type
../../../../vcglib/vcg/complex/algorithms/create/emc_lookup_table.h:907: warning: type qualifiers ignored on function return type
In file included from filter_csg.cpp:29:
gmpfrac.h:7: error: ISO C++ forbids declaration of ‘mpq_class’ with no type
gmpfrac.h:7: error: expected ‘,’ or ‘...’ before ‘&’ token
gmpfrac.h: In function ‘long int floor(int)’:
gmpfrac.h:8: error: ‘mpz_class’ was not declared in this scope
gmpfrac.h:8: error: expected ‘;’ before ‘q’
gmpfrac.h:9: error: ‘q’ was not declared in this scope
gmpfrac.h:9: error: ‘x’ was not declared in this scope
gmpfrac.h:9: error: ‘mpz_fdiv_q’ was not declared in this scope
gmpfrac.h: At global scope:
gmpfrac.h:7: warning: unused parameter ‘mpq_class’
gmpfrac.h:13: error: ISO C++ forbids declaration of ‘mpq_class’ with no type
gmpfrac.h:13: error: expected ‘,’ or ‘...’ before ‘&’ token
gmpfrac.h: In function ‘long int ceil(int)’:
gmpfrac.h:14: error: ‘mpz_class’ was not declared in this scope
gmpfrac.h:14: error: expected ‘;’ before ‘q’
gmpfrac.h:15: error: ‘q’ was not declared in this scope
gmpfrac.h:15: error: ‘x’ was not declared in this scope
gmpfrac.h:15: error: ‘mpz_cdiv_q’ was not declared in this scope
gmpfrac.h: At global scope:
gmpfrac.h:13: warning: unused parameter ‘mpq_class’
gmpfrac.h:19: error: ISO C++ forbids declaration of ‘mpq_class’ with no type
gmpfrac.h:19: error: expected ‘,’ or ‘...’ before ‘&’ token
gmpfrac.h: In function ‘double toFloat(int)’:
gmpfrac.h:20: error: ‘x’ was not declared in this scope
gmpfrac.h: At global scope:
gmpfrac.h:19: warning: unused parameter ‘mpq_class’
gmpfrac.h:23: error: ‘mpq_class’ does not name a type
filter_csg.cpp: In member function ‘virtual bool FilterCSG::applyFilter(QAction, MeshDocument&, RichParameterSet&, bool ()(int, const char))’:
filter_csg.cpp:131: error: ‘mpq_class’ was not declared in this scope
filter_csg.cpp:131: error: template argument 1 is invalid
filter_csg.cpp:131: error: invalid type in declaration before ‘;’ token
In file included from filter_csg.cpp:30:
intercept.h: At global scope:
intercept.h: In instantiation of ‘vcg::intercept::InterceptVolume<int>’:
filter_csg.cpp:136: instantiated from here
intercept.h:395: error: ‘int’ is not a class, struct, or union type
intercept.h:396: error: ‘int’ is not a class, struct, or union type
intercept.h:397: error: ‘int’ is not a class, struct, or union type
intercept.h:408: error: ‘int’ is not a class, struct, or union type
intercept.h:519: error: ‘int’ is not a class, struct, or union type
intercept.h: In instantiation of ‘vcg::intercept::InterceptSet3<int>’:
filter_csg.cpp:136: instantiated from here
intercept.h:630: error: ‘int’ is not a class, struct, or union type
intercept.h:631: error: ‘int’ is not a class, struct, or union type
intercept.h:632: error: ‘int’ is not a class, struct, or union type
intercept.h:633: error: ‘int’ is not a class, struct, or union type
intercept.h:639: error: ‘int’ is not a class, struct, or union type
intercept.h:715: error: ‘int’ is not a class, struct, or union type
intercept.h:736: error: ‘int’ is not a class, struct, or union type
intercept.h:801: error: ‘int’ is not a class, struct, or union type
filter_csg.cpp: In member function ‘virtual bool FilterCSG::applyFilter(QAction</int></int>, MeshDocument&, RichParameterSet&, bool ()(int, const char))’:
filter_csg.cpp:136: error: no matching function for call to ‘vcg::intercept::InterceptSet3<int>::InterceptSet3(CMeshO&, const vcg::Point3f&, const int&, bool (&)(int, const char))’
intercept.h:629: note: candidates are: vcg::intercept::InterceptSet3<int>::InterceptSet3(const vcg::intercept::InterceptSet3<int>&)
filter_csg.cpp:138: error: no matching function for call to ‘vcg::intercept::InterceptSet3<int>::InterceptSet3(CMeshO&, const vcg::Point3f&, const int&, bool (&)(int, const char))’
intercept.h:629: note: candidates are: vcg::intercept::InterceptSet3<int>::InterceptSet3(const vcg::intercept::InterceptSet3<int>&)
In file included from filter_csg.cpp:30:
intercept.h: At global scope:
intercept.h: In instantiation of ‘vcg::intercept::InterceptBeam<int>’:
intercept.h:413: instantiated from ‘vcg::intercept::InterceptVolume<intercepttype>& vcg::intercept::InterceptVolume<intercepttype>::operator&=(const vcg::intercept::InterceptVolume<intercepttype>&) [with InterceptType = int]’
filter_csg.cpp:144: instantiated from here
intercept.h:303: error: ‘int’ is not a class, struct, or union type
intercept.h:321: error: ‘int’ is not a class, struct, or union type
intercept.h: In instantiation of ‘vcg::intercept::InterceptRay<int>’:
intercept.h:844: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:123: error: ‘int’ is not a class, struct, or union type
intercept.h:163: error: ‘int’ is not a class, struct, or union type
intercept.h:173: error: ‘int’ is not a class, struct, or union type
intercept.h: In member function ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’:
filter_csg.cpp:172: instantiated from here
intercept.h:846: error: request for member ‘dist’ in ‘ curr.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> with _Iterator = const int*, _Container = std::vector<int, std::allocator\<int=""> ></int,>’, which is of non-class type ‘const int’
intercept.h:847: error: request for member ‘dist’ in ‘ curr.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> with _Iterator = const int*, _Container = std::vector<int, std::allocator\<int=""> ></int,>’, which is of non-class type ‘const int’
intercept.h: In member function ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::MarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’:
filter_csg.cpp:177: instantiated from here
intercept.h:846: error: request for member ‘dist’ in ‘ curr.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> with _Iterator = const int*, _Container = std::vector<int, std::allocator\<int=""> ></int,>’, which is of non-class type ‘const int’
intercept.h:847: error: request for member ‘dist’ in ‘ curr.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> with _Iterator = const int*, _Container = std::vector<int, std::allocator\<int=""> ></int,>’, which is of non-class type ‘const int’
intercept.h: In member function ‘bool vcg::intercept::InterceptVolume<intercepttype>::checkConsistency(const vcg::intercept::InterceptVolume<intercepttype>&) const [with InterceptType = int]’:
intercept.h:411: instantiated from ‘vcg::intercept::InterceptVolume<intercepttype>& vcg::intercept::InterceptVolume<intercepttype>::operator&=(const vcg::intercept::InterceptVolume<intercepttype>&) [with InterceptType = int]’
filter_csg.cpp:144: instantiated from here
intercept.h:402: error: ‘const class vcg::intercept::InterceptVolume<int>’ has no member named ‘delta’
intercept.h:402: error: using invalid field ‘vcg::intercept::InterceptVolume<intercepttype>::delta’
intercept.h: In member function ‘int vcg::intercept::InterceptVolume<intercepttype>::IsIn(const vcg::Point3i&) const [with InterceptType = int]’:
intercept.h:890: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:452: error: ‘const class vcg::intercept::InterceptBeam<int>’ has no member named ‘IsIn’
intercept.h:470: error: using invalid field ‘vcg::intercept::InterceptVolume<intercepttype>::delta’
intercept.h:470: error: using invalid field ‘vcg::intercept::InterceptVolume<intercepttype>::delta’
intercept.h:470: error: using invalid field ‘vcg::intercept::InterceptVolume<intercepttype>::delta’
intercept.h:890: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:472: error: ‘const class vcg::intercept::InterceptBeam<int>’ has no member named ‘IsIn’
intercept.h: In member function ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with int coord = 0, MeshType = CMeshO, InterceptType = int]’:
intercept.h:936: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetXIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with MeshType = CMeshO, InterceptType = int]’
../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:186: instantiated from ‘void vcg::tri::ExtendedMarchingCubes<trimesh_type, walker_type="">::ProcessCell(const vcg::Point3i&, const vcg::Point3i&) [with TRIMESH_TYPE = CMeshO, WALKER_TYPE = vcg::intercept::Walker<cmesho, int="">]</cmesho,>’
intercept.h:901: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:925: error: request for member ‘dist’ in ‘i’, which is of non-class type ‘const int’
intercept.h:928: error: ‘class vcg::intercept::InterceptVolume<int>’ has no member named ‘delta’
intercept.h:929: error: request for member ‘norm’ in ‘i’, which is of non-class type ‘const int’
intercept.h:930: error: request for member ‘quality’ in ‘i’, which is of non-class type ‘const int’
intercept.h: In member function ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with int coord = 1, MeshType = CMeshO, InterceptType = int]’:
intercept.h:938: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetYIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with MeshType = CMeshO, InterceptType = int]’
../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:187: instantiated from ‘void vcg::tri::ExtendedMarchingCubes<trimesh_type, walker_type="">::ProcessCell(const vcg::Point3i&, const vcg::Point3i&) [with TRIMESH_TYPE = CMeshO, WALKER_TYPE = vcg::intercept::Walker<cmesho, int="">]</cmesho,>’
intercept.h:901: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:925: error: request for member ‘dist’ in ‘i’, which is of non-class type ‘const int’
intercept.h:928: error: ‘class vcg::intercept::InterceptVolume<int>’ has no member named ‘delta’
intercept.h:929: error: request for member ‘norm’ in ‘i’, which is of non-class type ‘const int’
intercept.h:930: error: request for member ‘quality’ in ‘i’, which is of non-class type ‘const int’
intercept.h: In member function ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with int coord = 2, MeshType = CMeshO, InterceptType = int]’:
intercept.h:940: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetZIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with MeshType = CMeshO, InterceptType = int]’
../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:194: instantiated from ‘void vcg::tri::ExtendedMarchingCubes<trimesh_type, walker_type="">::ProcessCell(const vcg::Point3i&, const vcg::Point3i&) [with TRIMESH_TYPE = CMeshO, WALKER_TYPE = vcg::intercept::Walker<cmesho, int="">]</cmesho,>’
intercept.h:901: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:925: error: request for member ‘dist’ in ‘i’, which is of non-class type ‘const int’
intercept.h:928: error: ‘class vcg::intercept::InterceptVolume<int>’ has no member named ‘delta’
intercept.h:929: error: request for member ‘norm’ in ‘i’, which is of non-class type ‘const int’
intercept.h:930: error: request for member ‘quality’ in ‘i’, which is of non-class type ‘const int’
intercept.h: In member function ‘const InterceptType& vcg::intercept::InterceptVolume<intercepttype>::GetIntercept(const vcg::Point3i&) const [with int coord = 0, InterceptType = int]’:
intercept.h:921: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with int coord = 0, MeshType = CMeshO, InterceptType = int]’
intercept.h:936: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetXIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with MeshType = CMeshO, InterceptType = int]’
../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:186: instantiated from ‘void vcg::tri::ExtendedMarchingCubes<trimesh_type, walker_type="">::ProcessCell(const vcg::Point3i&, const vcg::Point3i&) [with TRIMESH_TYPE = CMeshO, WALKER_TYPE = vcg::intercept::Walker<cmesho, int="">]</cmesho,>’
intercept.h:901: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:445: error: ‘const class vcg::intercept::InterceptRay<int>’ has no member named ‘GetIntercept’
intercept.h: In member function ‘const InterceptType& vcg::intercept::InterceptVolume<intercepttype>::GetIntercept(const vcg::Point3i&) const [with int coord = 1, InterceptType = int]’:
intercept.h:921: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with int coord = 1, MeshType = CMeshO, InterceptType = int]’
intercept.h:938: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetYIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with MeshType = CMeshO, InterceptType = int]’
../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:187: instantiated from ‘void vcg::tri::ExtendedMarchingCubes<trimesh_type, walker_type="">::ProcessCell(const vcg::Point3i&, const vcg::Point3i&) [with TRIMESH_TYPE = CMeshO, WALKER_TYPE = vcg::intercept::Walker<cmesho, int="">]</cmesho,>’
intercept.h:901: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:445: error: ‘const class vcg::intercept::InterceptRay<int>’ has no member named ‘GetIntercept’
intercept.h: In member function ‘const InterceptType& vcg::intercept::InterceptVolume<intercepttype>::GetIntercept(const vcg::Point3i&) const [with int coord = 2, InterceptType = int]’:
intercept.h:921: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with int coord = 2, MeshType = CMeshO, InterceptType = int]’
intercept.h:940: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::GetZIntercept(const vcg::Point3i&, const vcg::Point3i&, typename MeshType::VertexPointer&) [with MeshType = CMeshO, InterceptType = int]’
../../../../vcglib/vcg/complex/algorithms/create/extended_marching_cubes.h:194: instantiated from ‘void vcg::tri::ExtendedMarchingCubes<trimesh_type, walker_type="">::ProcessCell(const vcg::Point3i&, const vcg::Point3i&) [with TRIMESH_TYPE = CMeshO, WALKER_TYPE = vcg::intercept::Walker<cmesho, int="">]</cmesho,>’
intercept.h:901: instantiated from ‘void vcg::intercept::Walker<meshtype, intercepttype="">::BuildMesh(MeshType&, vcg::intercept::InterceptVolume<intercepttype>&, EXTRACTOR_TYPE&, bool ()(int, const char)) [with EXTRACTOR_TYPE = vcg::tri::ExtendedMarchingCubes<cmesho, vcg::intercept::walker\<cmesho,="" int=""> >, MeshType = CMeshO, InterceptType = int]</cmesho,>’
filter_csg.cpp:172: instantiated from here
intercept.h:445: error: ‘const class vcg::intercept::InterceptRay<int>’ has no member named ‘GetIntercept’
make[1]: *** [filter_csg.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/username/meshlab/src/meshlabplugins/filter_csg'
make: *** [sub-meshlabplugins-filter_csg-make_default-ordered] Fehler 2</int></intercepttype></meshtype,></trimesh_type,></meshtype,></meshtype,></intercepttype></int></intercepttype></meshtype,></trimesh_type,></meshtype,></meshtype,></intercepttype></int></intercepttype></meshtype,></trimesh_type,></meshtype,></meshtype,></intercepttype></int></intercepttype></meshtype,></trimesh_type,></meshtype,></meshtype,></int></intercepttype></meshtype,></trimesh_type,></meshtype,></meshtype,></int></intercepttype></meshtype,></trimesh_type,></meshtype,></meshtype,></int></intercepttype></meshtype,></intercepttype></intercepttype></intercepttype></int></intercepttype></meshtype,></intercepttype></intercepttype></int></intercepttype></intercepttype></intercepttype></intercepttype></intercepttype></intercepttype></meshtype,></intercepttype></meshtype,></intercepttype></meshtype,></int></intercepttype></intercepttype></intercepttype></int></int></int></int></int></int></int>
this error persists two years later
I can confirm this problem. Which library should provide this header and is its existence currently tested in the qmake stage?
Going into external/inc and just reusing the macx64 worked for at least to compile the code:
cd external/inc
ln -s macx64/ linux-g++-64
Linking fails though because it seems there are neither the precompiled libraries nor the sources. Maybe downloading the source from http://www.mpir.org/ and compiling it by hand may work.
I ran into this error building from the latest source MeshLabSrc_AllInc_v133.tgz, and I worked around according to the advice here
http://pointclouds-view.blogspot.ca/2013/09/compiling-meshlab-on-linux.html
In addition to the advice given there I also needed to comment out one more:
# meshlabplugins/filter_csg \
(as well as filter_plymc and filter_texture).
Yes, it's part of MPIR https://github.com/wbhart/mpir/blob/master/mpirxx.h
MPIR does not seem to be listed in the requirements for building Meshlab (neither is GMP, but it's quite commonly installed)
According to the 'about', MPIR is a fork of GMP, and is intended to be a drop-in replacement (with additional features) for the more commonly used GMP. However, the use of 'mpirxx.h' means MPIR is needed.