-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable OGR GPSBabel driver #66
Conversation
This driver requires the gpsbabel binary to be present on the system to be effective, which is obviously not compatible of WASM builds
@rouault, thank you for the PR.
In Emscripten version 3.1.7, Gdal compiled with PDS without any issues, but in version 3.1.50 I got the following error.
I will try to understand and resolve the issue when I have time. |
@bugra9 Would the following patch improve things? diff --git a/frmts/pds/pds4dataset.h b/frmts/pds/pds4dataset.h
index 386133d1d5..3ffc4e5600 100644
--- a/frmts/pds/pds4dataset.h
+++ b/frmts/pds/pds4dataset.h
@@ -104,28 +104,14 @@ class PDS4TableBaseLayer CPL_NON_FINAL : public OGRLayer
virtual void RefreshFileAreaObservational(CPLXMLNode *psFAO) = 0;
};
-/************************************************************************/
-/* ==================================================================== */
-/* PDS4EditableSynchronizer */
-/* ==================================================================== */
-/************************************************************************/
-
-template <class T>
-class PDS4EditableSynchronizer final : public IOGREditableLayerSynchronizer
-{
- public:
- PDS4EditableSynchronizer() = default;
-
- OGRErr EditableSyncToDisk(OGRLayer *poEditableLayer,
- OGRLayer **ppoDecoratedLayer) override;
-};
-
/************************************************************************/
/* ==================================================================== */
/* PDS4FixedWidthTable */
/* ==================================================================== */
/************************************************************************/
+template <class T> class PDS4EditableSynchronizer;
+
class PDS4FixedWidthTable CPL_NON_FINAL : public PDS4TableBaseLayer
{
friend class PDS4EditableSynchronizer<PDS4FixedWidthTable>;
diff --git a/frmts/pds/pds4vector.cpp b/frmts/pds/pds4vector.cpp
index add1097b61..5d597e6beb 100644
--- a/frmts/pds/pds4vector.cpp
+++ b/frmts/pds/pds4vector.cpp
@@ -2574,6 +2574,16 @@ bool PDS4DelimitedTable::InitializeNewLayer(const OGRSpatialReference *poSRS,
/* ==================================================================== */
/************************************************************************/
+template <class T>
+class PDS4EditableSynchronizer CPL_NON_FINAL : public IOGREditableLayerSynchronizer
+{
+ public:
+ PDS4EditableSynchronizer() = default;
+
+ OGRErr EditableSyncToDisk(OGRLayer *poEditableLayer,
+ OGRLayer **ppoDecoratedLayer) override;
+};
+
template <class T>
OGRErr
PDS4EditableSynchronizer<T>::EditableSyncToDisk(OGRLayer *poEditableLayer,
|
@rouault, it compiled and worked without any issues with this patch. |
cool, upstream fix queued in OSGeo/gdal#9171 |
This driver requires the gpsbabel binary to be present on the system to be effective, which is obviously not compatible of WASM builds
(out of curiosity, why did you have to disable the PDS driver ?)