New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-45774: Autoconfiscate SQLite detection (GH-29507) #29507
Conversation
|
If you want to schedule another build, you need to add the " |
|
SQLite was not detected on buildbot |
@koobs where is sqlite installed on your FreeBSD buildbot? Is it in /usr/local by any chance? Would the solution https://bugs.python.org/issue45774#msg406076 work for FreeBSD? |
sqlite3-3.35.5 is installed on both FreeBSD buildbot workers in LOCALBASE ( I haven't deeply reviewed the implementation in issue 45774, but I don't see a reference to I would also caution that wherever possible when doing dependency detection and configuration, we should include the ability to pass dependency specific include/library paths and *FLAGS, because Pythons build system is particularly inconsistent and flaky with respect to passing *FLAGS globally, which downstreams often have to utilise. This can causes include ordering issues, as well as build/link time conflicts when a dependency is installed in more than one location, and both are picked up. Other than at the configure level Further Sqlite3 InformationInstalled libraries and header names: sqlite also installed a pkg-config file: |
|
Thanks @koobs ! Yes, I agree. We don't use pkg-config for sqlite3 yet. Is |
|
We should assume it is (and not hardcode paths, unless there's no better alternative). Right now most if not all downstreams will be passing Sorry for the non-binary answer :) |
|
FYI, I summarized my plan in https://bugs.python.org/issue45573#msg406084 |
|
FYI: Holding this until GH-29164 has landed. |
|
If you want to schedule another build, you need to add the " |
…nsions Co-authored-by: Christian Heimes <christian@python.org>
|
Looks good! Great job! Let's do another buildbot run. I'll merge the PR tomorrow. |
|
FreeBSD still emits a warning: It also failed the configure step, but that was bco. UPDATE 1 UPDATE 2 |
|
The ARM64 macOS buildbot failed at (The x86-64 macOS buildbot is fine, though.) UPDATE diff --git a/configure.ac b/configure.ac
index 88b5a18ae9..1d87235a94 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3176,8 +3176,8 @@ AS_VAR_APPEND([LIBSQLITE3_CFLAGS], [' -I$(srcdir)/Modules/_sqlite'])
AS_VAR_COPY([save_CFLAGS], [CFLAGS])
AS_VAR_COPY([save_LDFLAGS], [LDFLAGS])
-AS_VAR_COPY([CFLAGS], [LIBSQLITE3_CFLAGS])
-AS_VAR_COPY([LDFLAGS], [LIBSQLITE3_LIBS])
+CFLAGS="$LIBSQLITE3_CFLAGS $CFLAGS"
+LDFLAGS="$LIBSQLITE3_LIBS $LDFLAGS"
AC_CHECK_HEADER([sqlite3.h], [
AC_CHECK_LIB([sqlite3], [sqlite3_open_v2], [ |
|
You figured it out already! FreeBSD has 3rd party headers in /usr/local/include. The pre-processor does not use CFLAGS. You need CPPFLAGS here. I concur that it's safe to use CPPFLAGS instead of CFLAGS for sqlite. Most pgkconf files set -I, -D, -L, and -l. Other rare cases may need both CFLAGS and CPPFLAGS, though. |
|
If 41a78b5 looks ok for you (as a fix for both the FreeBSD and macOS arm issues), we'll run it through the buildbots again. |
|
SQLite is now detected without warnings on FreeBSD. It does however still fail bco. UPDATE: This fails because |
|
|
|
If you want to schedule another build, you need to add the " |
Finally |
https://bugs.python.org/issue45774
The text was updated successfully, but these errors were encountered: