Skip to content

Conversation

@jamesobutler
Copy link
Contributor

This resolves build issues on the Windows platform as seen below when the passed in sqlite3 was built with SQLITE_WIN32_USE_UUID enabled.

26>sqlite3_s.lib(sqlite3.obj) : error LNK2001: unresolved external symbol UuidCreate [C:\S5R4\python-build\CMakeBuild\extensions\extension_sqlite3.vcxproj]
26>sqlite3_s.lib(sqlite3.obj) : error LNK2001: unresolved external symbol UuidCreateSequential [C:\S5R4\python-build\CMakeBuild\extensions\extension_sqlite3.vcxproj]

@jcfr
Copy link
Contributor

jcfr commented Jan 15, 2026

Thanks for the patch 🙏 Could you check how upstream cpython address this ? Is the library unconditionally specified ?

@jamesobutler
Copy link
Contributor Author

@jcfr Reviewing how cpython builds sqlite for itself (Python 3.12 version specifically), it appears that the preprocessor SQLITE_WIN32_USE_UUID isn't defined so sqlite isn't built with that UUID support that needs rpcrt4 on Windows.
https://github.com/python/cpython/blob/4a5632fbf9bf59477c540e3f53fa7cdbeea3e3f5/PCbuild/sqlite3.vcxproj#L101

@jcfr jcfr merged commit 5d89596 into python-cmake-buildsystem:master Jan 15, 2026
28 checks passed
@jamesobutler jamesobutler deleted the sqlite3-uuid-enabled branch January 15, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants