<div dir="ltr"><div dir="ltr"><div>Hi Even,</div><div><br></div><div>I took better notes during my latest upgrade and wrote them down here: <a href="https://github.com/rasterio/rasterio-wheels/pull/106#issue-1720809259">https://github.com/rasterio/rasterio-wheels/pull/106#issue-1720809259</a>.</div><div><br></div><div>Using the CMake files as a source of truth helps. But they don't describe everything. For example, they don't explain that GDAL needs libhdf5 to be built with special features. That one stumped me for a while. I was seeing a build message like "HDF5 not detected (found version 1.12.1)". I finally found the clue in the vcpkg repo.<br></div><div><br></div><div>Also, the CMake files don't explain that the GDAL MBTiles driver depends on the OGR MVT driver.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 22, 2023 at 8:53 AM Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hi Sean,</p>
    <p>I presume you got this because you defined
      OGR_BUILD_OPTIONAL_DRIVERS=OFF which then cause <span><span> OGR_ENABLE_DRIVER_AVC to be set to OFF.</span></span></p>
    <p><span><span>We already a quite overwhelming amount of
          documentation in 
          <a href="https://gdal.org/development/building_from_source.html" target="_blank">https://gdal.org/development/building_from_source.html</a> about
          all the existing variables, and I'm not sure adding an
          exhaustive list of all the inter driver dependencies will be
          user-digestable and could rot easily.<br>
        </span></span></p>
    <p><span><span>That said in </span></span><a href="https://github.com/OSGeo/gdal/pull/7806" target="_blank">https://github.com/OSGeo/gdal/pull/7806</a>
      I've tried to improve the current error message with a hint for
      the reason for the error and the (likely) reason for it to happen.
      <br>
    </p>
    <p>I've also added pointers in the doc page to the CMakeLists.txt
      files where the dependencies are expressed. Hopefully people who
      are in the business of making custom GDAL builds can make sense of
      that.<br>
    </p>
    <p>Even<br>
    </p>
    <div>Le 20/05/2023 à 01:26, Sean Gillies a
      écrit :<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Hi all,</div>
        <div><br>
        </div>
        <div>I really appreciate the documentation at <a href="https://gdal.org/development/building_from_source.html" target="_blank">https://gdal.org/development/building_from_source.html</a>.
          But there are gaps. For example, today I ran into <br>
        </div>
        <div><br>
        </div>
        <div>
          <div>
            <div><span>
                <span>CMake Error at
                  cmake/helpers/GdalDriverHelper.cmake:331 (message):
                </span></span> </div>
          </div>
          <div>
            <div> </div>
          </div>
          <div>
            <div> <span>
                <span> GDAL_ENABLE_DRIVER_AIGRID cannot
                  be enabled because condition
                </span></span> </div>
          </div>
          <div>
            <div> </div>
          </div>
          <div>
            <div> <span>
                <span> OGR_ENABLE_DRIVER_AVC is not met.
                  To ignore this error (but the driver
                </span></span> </div>
          </div>
          <div>
            <div> </div>
          </div>
          <span> <span> will not be built), set the
              GDAL_IGNORE_FAILED_CONDITIONS variable</span></span></div>
        <div><span><span><br>
            </span></span></div>
        <div><span><span>This
              dependence isn't documented. It's a bit frustrating to
              work through missing directives one at a time when adding
              new drivers to my build.<br>
            </span></span></div>
        <div><span><span><br>
            </span></span></div>
        <div><span><span>Is it
              possible for </span></span>a driver's dependencies to be
          enabled when I enable a driver?</div>
        <div><br>
        </div>
        <div>If not, can we consider using GDAL maintenance funding and
          resources on documenting the heck out of this system?<br>
        </div></div></blockquote></div>

</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Sean Gillies</div></div>