[MacPorts] #68181: qgis-ltr: builds fail for 10.14/10.15, due to missing c++ symbols during link

MacPorts noreply at macports.org
Sun Sep 17 18:38:28 UTC 2023


#68181: qgis-ltr: builds fail for 10.14/10.15, due to missing c++ symbols during
link
---------------------+-----------------------
 Reporter:  mascguy  |      Owner:  nilason
     Type:  defect   |     Status:  assigned
 Priority:  Normal   |  Milestone:
Component:  ports    |    Version:  2.8.1
 Keywords:           |       Port:  qgis3-ltr
---------------------+-----------------------
 The list of missing symbols is too extensive to include in the
 description, but here are a few examples. (Almost all of them are
 referenced from two object files, `qgsamsprovider.cpp.o` and
 `mocs_compilation.cpp.o`. So perhaps that may help with diagnosis.)

 However, this port builds successfully for 10.13. And the difference is
 that macports `clang-16` is being used there, rather than Xcode Clang.

 So we probably want to blacklist `{clang < 1200}` for now.

 {{{
   "QgsFeature::~QgsFeature()", referenced from:
       QgsAmsProvider::identify(QgsPointXY const&,
 QgsRaster::IdentifyFormat, QgsRectangle const&, int, int, int) in
 qgsamsprovider.cpp.o
   "QgsPointXY::QgsPointXY(QgsPointXY const&)", referenced from:
       QgsAmsProvider::draw(QgsRectangle const&, int, int,
 QgsRasterBlockFeedback*) in qgsamsprovider.cpp.o
   "QgsGeometry::QgsGeometry(std::__1::unique_ptr<QgsAbstractGeometry,
 std::__1::default_delete<QgsAbstractGeometry> >)", referenced from:
       QgsAmsProvider::identify(QgsPointXY const&,
 QgsRaster::IdentifyFormat, QgsRectangle const&, int, int, int) in
 qgsamsprovider.cpp.o

 [...etc...]

   "QgsRasterInterface::generateBandName(int) const", referenced from:
       vtable for QgsAmsProvider in mocs_compilation.cpp.o
   "QgsProviderMetadata::capabilities() const", referenced from:
       vtable for QgsAmsProviderMetadata in mocs_compilation.cpp.o
   "QgsRasterDataProvider::colorInterpretation(int) const", referenced
 from:
       vtable for QgsAmsProvider in mocs_compilation.cpp.o
 }}}

 In addition, there are different failures for 10.12 and earlier. (And it's
 not clear what the cause of those are.) So we might want to exclude 10.12
 and earlier, via `platforms {darwin >= 17}`.

-- 
Ticket URL: <https://trac.macports.org/ticket/68181>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list