> cmake -DSQLITE3_INCLUDE_DIR=~/build/include
> -DSQLITE3_LIBRARY=~/build/lib/libsqlite3.a ..
For static linkage, this may work for sqlite3, But often just providing the
library file path is not enough because it lacks transitive usage requirements
(i.e. additional libs like iconv).
> ld: library not found for -lSystem
>
> and a bit further on:
>
> ld: library not found for -lc++
This is probably bad input coming from some pkg-config file or CMake config
file, unrelated to sqlite3.
> /Users/nsands/Documents/Development/3rdParty/GDAL3/gdal-3.5.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:19:
> error: use of undeclared identifier '_iconv_close'; did you mean
> 'iconv_close'?
> return ((int*)(&_iconv_close))[argc];
> ^~~~~~~~~~~~
> iconv_close
Stop looking on CMakeError.log. It is stderr from commands run by CMake during
configuration, containing many non-fatal errors from system inspection.
Look at the console output (stdout and stderr) from running CMake, and share
that.
> 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"
> cd gdal-{VERSION}
Don't use these flags for the SDK.
For the record, vcpkg has a GDAL port, and static linkage is what vcpkg tests
in CI for Linux and macOS. Making this work required a lot of work on
pkg-config and cmake config provided by GDAL's dependencies. However the vcpkg
port isn't as well tested as other GDAL distributions (and for ios, it isn't
tested at all). YMMV.
Kai
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev