<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<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" 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>