[gdal-dev] Building GDAL, file format not recognized

Surendrakumar Dandru surendra232208 at gmail.com
Mon Mar 23 15:35:38 PDT 2026


The issue you’re encountering is due to passing directory paths instead of
actual library files to CMake for GEOS and CURL. While CMake accepts these
inputs during configuration, the linker (ld) expects specific library files
(such as .so or .a), not directories, hence the “file format not
recognized” error during the build stage.

You have specified:


   -

   GEOS_LIBRARY=/home/mazianos/build/geos-3.14.1/lib
   -

   CURL_LIBRARY_RELEASE=/home/mazianos/build/curl/lib


These should instead point to the actual library files inside those
directories or rather than hardcoding conside using this to let cmake
automatically detect its dependencies.

CMAKE_PREFIX_PATH= "path1;path2"

Thanks,

Surendrakumar

Geowgs84 Geospatial solutions





On Tue, 24 Mar 2026 at 3:55 AM, Even Rouault via gdal-dev <
gdal-dev at lists.osgeo.org> wrote:

> The various xxx_LIBRARY CMake variables must point to the libXXXX.so file,
> not just the directory where it is.
> Le 23/03/2026 à 23:16, Mazin Marwan via gdal-dev a écrit :
>
> Hello all,
>
> I'm trying to build GDAL with GEOS and Curl among other packages and I'm
> running into an error when trying to run "cmake --build ."
>
> [ 96%] Built target gcore_mdreader
> [ 96%] Linking CXX shared library libgdal.so
> /usr/bin/ld: cannot find /home/mazianos/build/curl/lib: file format not
> recognized
> /usr/bin/ld: cannot find /home/mazianos/build/geos-3.14.1/lib: file format
> not recognized
> /usr/bin/ld: cannot find /home/mazianos/build/geos-3.14.1/lib: file format
> not recognized
> /usr/bin/ld: cannot find /home/mazianos/build/geos-3.14.1/lib: file format
> not recognized
> /usr/bin/ld: cannot find /home/mazianos/build/geos-3.14.1/lib: file format
> not recognized
> collect2: error: ld returned 1 exit status
> gmake[2]: *** [CMakeFiles/GDAL.dir/build.make:2788: libgdal.so.38.3.12.2]
> Error 1
> gmake[1]: *** [CMakeFiles/Makefile2:3352: CMakeFiles/GDAL.dir/all] Error 2
> gmake: *** [Makefile:146: all] Error 2
>
> I'm not sure what's causing this, but I had previously ran
> sudo cmake -DGEOS_INCLUDE_DIR=/home/mazianos/build/geos-3.14.1/include \
> -DGEOS_LIBRARY=/home/mazianos/build/geos-3.14.1/lib \
> -DGDAL_USE_HDF5=ON \
> -DEXPAT_INCLUDE_DIR=/home/mazianos/build/expat/include \
> -DEXPAT_LIBRARY=/home/mazianos/build/expat/lib \
> -DCURL_INCLUDE_DIR=/home/mazianos/build/curl/include \
> -DCURL_LIBRARY_RELEASE=/home/mazianos/build/curl/lib \
> -DCMAKE_BUILD_TYPE=Release ..
> successfully, so it's able to find geos and curl.
>
> Any ideas on what I may have done wrong on the way to this point would be
> appreciated.
>
> _______________________________________________
> gdal-dev mailing listgdal-dev at lists.osgeo.orghttps://lists.osgeo.org/mailman/listinfo/gdal-dev
>
> -- http://www.spatialys.com
> My software is free, but my time generally not.
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20260324/0f761c23/attachment-0001.htm>


More information about the gdal-dev mailing list