-
-
Notifications
You must be signed in to change notification settings - Fork 154
Statically link unixodbc and update configurations #1029
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
Statically link unixodbc and update configurations #1029
Conversation
Co-authored-by: contact <[email protected]>
Co-authored-by: contact <[email protected]>
Cursor Agent can help with this pull request. Just |
Make sure to run all ci tests locally before pushing changes |
|
I refactored the build process to statically link
Learn more about Cursor Agents |
Co-authored-by: contact <[email protected]>
Co-authored-by: contact <[email protected]>
…onfigurations-df86
what is this madness ? Do not download your own unixodbc ! Just having the odbc-sys dependency with the right feature set should be enough ! Read https://github.com/pacman82/odbc-sys and https://github.com/pacman82/odbc-sys/blob/main/build.rs and https://github.com/pacman82/odbc-sys/blob/main/Cargo.toml and https://github.com/pacman82/odbc-sys/tree/main Think hard, and test everything locally before pushing |
I significantly streamlined the
Learn more about Cursor Agents |
Co-authored-by: contact <[email protected]>
@cursoragent : using Cargo feature good practices (purely additive features, clean incompatibility handling) we should be able to compile the project without odbc support, with dynamically linked odbc and with statically linked odbc. The base docker image should use dynamically linked odbc, the release binary should use a statically linked iodbc, everything should be tested. The CONTRIBUTING.md file should explain concisely the different compilation options and setup steps. |
I refactored the
Learn more about Cursor Agents |
Co-authored-by: contact <[email protected]>
@cursoragent : you must test static linking with iodbc locally and on ci, and build statically linked executables in release.yml. Test everything locally before pushing anything. The readme.md is not a changelog. things like " the SQLPage binary and Docker image now statically link " do not make any sense. Critically review your documentation changes |
I introduced flexible ODBC build modes, enabling dynamic, static, or no ODBC support via Cargo features to optimize builds and binary size.
Learn more about Cursor Agents |
Co-authored-by: contact <[email protected]>
@cursoragent make sure to cargo fmt and cargo clippy after each commit ci should build and test static linux binaries and run clippy on the no default features variant |
I simplified the project's dependency management by removing a conditional, platform-specific dependency. This change streamlines the build process and reduces overall project complexity.
Learn more about Cursor Agents |
Co-authored-by: contact <[email protected]>
…onfigurations-df86
@cursoragent Run cargo fmt --all -- --check impl Database { ci needs to build sqlpage with statically linked odbc |
I refactored the
Learn more about Cursor Agents |
Co-authored-by: contact <[email protected]>
Statically link
unixODBC
and configurerpath
to simplify distribution and enable placing ODBC drivers in asqlpage/
subdirectory.This change embeds the
unixODBC
driver manager directly into the SQLPage binary, removing the need for separate installation on target systems. The updatedrpath
allows database-specific ODBC drivers to be placed alongside the SQLPage executable in asqlpage/
directory, streamlining self-contained application packaging.