Skip to content
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

sqlite3 compilation success for older versions #2737

Closed
zerothi opened this issue Jun 2, 2021 · 3 comments
Closed

sqlite3 compilation success for older versions #2737

zerothi opened this issue Jun 2, 2021 · 3 comments
Labels

Comments

@zerothi
Copy link

zerothi commented Jun 2, 2021

This is a build issue from source.

Trying to compile 7.2.1 using pkg-config discovery of sqlite3 fails (correctly)

../configure
...
...
checking for SQLITE3... configure: error: Package requirements (sqlite3 >= 3.11) were not met:

Requested 'sqlite3 >= 3.11' but version of SQLite is 3.7.17

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables SQLITE3_CFLAGS
and SQLITE3_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

However, I can easily bypass this by doing this:

SQLITE3_CFLAGS=/appl/sqlite3/3.3.5/include SQLITE3_LIBS="-L/appl/sqlite3/3.3.5/lib -Wl,-rpath,/appl/sqlite3/3.3.5/lib -lsqlite3" ../configure

note the versions being incompatible with what is specified in the configure scripts.

Lastly, make check using the old sqlite3 library did not result in any failed test cases.

So my question is, is 3.11 really a requirement, or should it really have failed in the 3.3.5 case? I.e. some logic in the configure script seems to be missing when using the explicit library paths.

@zerothi zerothi added the bug label Jun 2, 2021
@rouault
Copy link
Member

rouault commented Jun 2, 2021

See #1721 for the rationale for >= 3.11
We could probably have a check when folks provide SQLITE3_CFLAGS and SQLITE3_LIBS, but it looks like a waste of energy as 3.11 is already ancient by today's standards
Won't fix

@rouault rouault closed this as completed Jun 2, 2021
@zerothi
Copy link
Author

zerothi commented Jun 2, 2021

Thanks for the comment.
For the record for other readers, older sqlite3 are sufficient, the 3.11 is a performance improvement requirement, but not a functional requirement.

@rouault
Copy link
Member

rouault commented Jun 2, 2021

the 3.11 is a performance improvement requirement, but not a functional requirement.

The performance is sometimes horrible with < 3.11, you've been warned, and we don't test against it, and current master requires requires at least 3.8 something I believe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants