Nik Sands <n...@nixanz.com> writes: > Since I last built GDAL (2.2.2), cmake has been introduced and it > appears as though it is going to be the only option going forward. So > I’m attempting to use cmake to build GDAL 3.5.0 on macOS 12.4 > ('Monterey’). I’ve installed cmake using the ‘homebrew’ macOS package > manager. > > However, I’m getting numerous build errors, starting with the > following error when running cmake to build GDAL 3.5.0: > > fatal error: 'direct.h' file not found
For what it's worth I have been building gdal with cmake on NetBSD, directly from git sources. I have not yet converted the pkgsc package. > I’m attempting to build GDAL as follows: > > export LDFLAGS=-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib > export CFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" > export CCFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" > export CXXFLAGS="-isysroot > /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" > export CPPFLAGS="-isysroot > /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" First, I suggest reading the build instructions carefully and following them. Maybe you did, but the above flags are very surprising to me. I understand how macOS has an sdk-only approach, but cmake ought to support that out of the box (or else take the position that macOS is broken in which case pretty much every cmake-using program would need such an accomodation). See BUILDING.md on master. Since you are using 3.5.0 and that file is not present, the relevant bits are: # Building with cmake There is a [build hints](https://gdal.org/build_hints.html) page on the website. Beyond that page, note: - cmake builds in the source directory are not supported (expected to fail) > cd gdal-3.5.0 > mkdir build > cd build > cmake -DPROJ_ROOT=~/build -DSQLITE3_INCLUDE_DIR=~/build/include > -DSQLITE3_LIBRARY=~/build/lib/libsqlite3.a .. -DCMAKE_INSTALL_PREFIX=~/build > -DCMAKE_BUILD_TYPE=Release .. You probably should be calling cmake with -DCMAKE_PREFIX_PATH=$HOME/build -DCMAKE_INSTALL_PREFIX=$HOME/build according to the hints page. It is likely a bug if you need to separately specify PROJ_ROOT. Perhaps in the cmakefiles, perhaps in build_hints.html :-) > I’m a hobbyist and not a professional developer, so my understanding > of these things is quite limited. However, my research so far > indicates that ‘direct.h’ is a Windows-specific header file and > therefore perhaps cmake has not been configured correctly for macOS in > this GDAL distribution? Don't worry; almost nobody really understands cmake. I suggest starting over following the instructions. Make really sure there is nothing left from before -- cmake tends to create caches that it doesn't remove.
signature.asc
Description: PGP signature
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev