fornwall opened a new issue, #4470: URL: https://github.com/apache/arrow-adbc/issues/4470
### What happened? The C SQLite driver's CMake build decides whether `sqlite3_load_extension()` is available by doing a plain-text search for that identifier in `sqlite3.h` (`c/driver/sqlite/CMakeLists.txt`). That heuristic is unreliable: the string also appears in comments and inside `SQLITE_OMIT_LOAD_EXTENSION`-guarded blocks, so the symbol can be textually present in the header yet not actually declared. Apple's system SQLite is built with load-extension omitted, which fools the check into leaving `ADBC_SQLITE_WITH_NO_LOAD_EXTENSION` undefined, so `sqlite.cc` then fails to compile. Found on this PR (with an unrelated change): https://github.com/apache/arrow-adbc/pull/4469, where [CI fails with](https://github.com/apache/arrow-adbc/actions/runs/28850435930/job/85565046218): > [ 92%] Building C object driver/sqlite/CMakeFiles/adbc_driver_sqlite_objlib.dir/statement_reader.c.o [ 92%] Building CXX object driver/sqlite/CMakeFiles/adbc_driver_sqlite_objlib.dir/sqlite.cc.o /Users/runner/work/arrow-adbc/arrow-adbc/c/driver/sqlite/sqlite.cc:784:16: error: use of undeclared identifier 'sqlite3_load_extension' 784 | int rc = sqlite3_load_extension(conn_, extension_path_.c_str(), | ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated. make[2]: *** [driver/sqlite/CMakeFiles/adbc_driver_sqlite_objlib.dir/sqlite.cc.o] Error 1 make[1]: *** [driver/sqlite/CMakeFiles/adbc_driver_sqlite_objlib.dir/all] Error 2 make: *** [all] Error 2 Might be caused by a recent github CI runner image update: https://github.com/actions/runner-images/issues/14167 ### Stack Trace _No response_ ### How can we reproduce the bug? _No response_ ### Environment/Setup _No response_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
