<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Actually, I remember now that on Linux I've observed plugin
      loading issues specific to loading in Python when I forget to link
      the plugin to libgdal itself. This doesn't show up when loading
      the plugin from a GDAL command line utility.<br>
    </p>
    <div class="moz-cite-prefix">Le 14/12/2023 à 22:19, Even Rouault via
      gdal-dev a écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:0ed7f082-e783-4772-a671-b6a08e1c15de@spatialys.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>- If you build a plugin against GDAL X.Y, you must run it
        against GDAL X.Y, and not an earlier or later version since the
        C++ ABI changes between feature versions (you should however be
        able to use a plugin, built against X.Y.some_patch_version,
        against X.Y.another_path_version)<br>
      </p>
      <p>- The error you get about specified procedure not found
        generally indicate that your plugin links to some library that
        is not found in the PATH / LD_LIBRARY_PATH. dlopen() /
        LoadLibrary() aren't super verbose about the reasons. You might
        have to use ldd or DependencyWalker to figure out the runtime
        linking issue.<br>
      </p>
      <p>- If you use GDALRegister_X(), then your DLL must be called
        exactly "gdal_X.dll" / "gdal_X.so"  . Or use "GDALRegisterMe()"
        as the registration function.  GDALRegister_X or GDALRegisterMe
        must have C export style (extern "C").</p>
      <p>- Before trying GDALOpen(), check with "gdalinfo --format X"
        that your driver is loaded.<br>
      </p>
      <div class="moz-cite-prefix">Le 14/12/2023 à 21:52, Meyer, Jesse
        R. (GSFC-618.0)[SCIENCE SYSTEMS AND APPLICATIONS INC] via
        gdal-dev a écrit :<br>
      </div>
      <blockquote type="cite"
        cite="mid:A89B537A-9C61-42AD-8229-357F7934FE48@ndc.nasa.gov">
        <meta http-equiv="Content-Type"
          content="text/html; charset=UTF-8">
        <meta name="Generator"
          content="Microsoft Word 15 (filtered medium)">
        <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style>
        <div class="WordSection1">
          <p class="MsoNormal">Hi,<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">After carefully following the advice here
            on the lists and the Raster driver tutorial GDAL isn’t
            loading the driver.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">I am relying on the AutoLoadDrivers
            function.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">When I GDALAllRegister(), followed by a
            GDALOpen(“path/to/custom/raster.ext”, RA_ReadOnly);, GDAL
            states that the file is not recognized as a supported file
            format.  The application was built against the exact version
            of GDAL used to link the custom driver code.  GDAL 3.7.2<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">I tried running an older GDAL version
            (3.6.3) in a python environment.  When I `from osgeo import
            gdal`, there are two errors that are printed.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <ol style="margin-top:0in" type="1" start="1">
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">Can’t load
              requested DLL – then it printed the full path and file
              name of the driver .dll, so it can find it!<o:p></o:p></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">The
              specified procedure could not be found<o:p></o:p></li>
          </ol>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">These look like python specific error
            messages to me, and probably stem from a gdal version
            mismatch. I’m assuming #2 is emitted in a trivial sense
            because the .dll could not be opened.  Curiously the error
            message was printed twice.  I did not expect this to work
            but my hope was to see a more detailed error message.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">I have exported the GDALRegister_X()
            function, in accordance with the documentation.  The driver
            code compiles cleanly and follows almost verbatim with the
            tutorial.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">How should I approach diagnosing the
            problem?<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Best,<o:p></o:p></p>
          <p class="MsoNormal">Jesse<o:p></o:p></p>
        </div>
        <br>
        <fieldset class="moz-mime-attachment-header"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext"
        href="mailto:gdal-dev@lists.osgeo.org" moz-do-not-send="true">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext"
        href="https://lists.osgeo.org/mailman/listinfo/gdal-dev"
        moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
      </blockquote>
      <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com"
      moz-do-not-send="true">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </body>
</html>