You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C++][FlightRPC][ODBC] Change Windows ODBC to Static Linkage #49538
Currently ODBC has dynamic linkage on Windows. To reduce amount of DLLs that need to be signed, ODBC needs to be changed to have static linkage on Windows.
Does Arrow Flight SQL (ARROW_FLIGHT_SQL=ON) support building with ARROW_DEPENDENCY_SOURCE=BUNDLED and ARROW_DEPENDENCY_USE_SHARED=OFF on Windows MSVC? Asking because Arrow Flight SQL ODBC has a dependency on Arrow Flight SQL component.
I have started the experimentation for static ODBC linkage on Windows MSVC. I found one blocker with error Cannot open include file: 'x86intrin.h' when building bundled dependencies absl, and another blocker for building tests where SQLite3 cannot be found. Will continue to investigate.
@amoeba Yes please, that would be awesome. Would you be able to take a look at patches needed for building ARROW_FLIGHT_SQL statically on Windows MSVC?
# Under arrow/cpp/build folder
cmake .. -G "Visual Studio 17 2022" `
-A x64 `
-DARROW_FLIGHT_SQL=ON `
-DARROW_DEPENDENCY_SOURCE=BUNDLED `
-DARROW_DEPENDENCY_USE_SHARED=OFF `
-DARROW_BUILD_TESTS=ON
Once building ARROW_FLIGHT_SQL statically is supported, it would be more straightforward to enable the ODBC build on top of Flight SQL.
Hi @alinaliBQ, I have a draft PR for static linkage up at #49585. It builds locally and looks better but I haven't tested it yet. I'll keep working on this tomorrow.
Activity
alinaliBQ commentedon Mar 17, 2026
Does Arrow Flight SQL (
ARROW_FLIGHT_SQL=ON) support building withARROW_DEPENDENCY_SOURCE=BUNDLEDandARROW_DEPENDENCY_USE_SHARED=OFFon Windows MSVC? Asking because Arrow Flight SQL ODBC has a dependency on Arrow Flight SQL component.I have started the experimentation for static ODBC linkage on Windows MSVC. I found one blocker with error
Cannot open include file: 'x86intrin.h'when building bundled dependenciesabsl, and another blocker for building tests whereSQLite3cannot be found. Will continue to investigate.cc @amoeba @kou @lidavidm
amoeba commentedon Mar 19, 2026
Hi @alinaliBQ, I don't think there are any known blockers but getting it to work may involve some patches. Let me know if you want me to take a look.
alinaliBQ commentedon Mar 19, 2026
@amoeba Yes please, that would be awesome. Would you be able to take a look at patches needed for building
ARROW_FLIGHT_SQLstatically on Windows MSVC?Once building
ARROW_FLIGHT_SQLstatically is supported, it would be more straightforward to enable the ODBC build on top of Flight SQL.amoeba commentedon Mar 24, 2026
Hi @alinaliBQ, I have a draft PR for static linkage up at #49585. It builds locally and looks better but I haven't tested it yet. I'll keep working on this tomorrow.
alinaliBQ commentedon Mar 24, 2026
Thank you Bryce, I have subscribed to the PR and will keep an eye on it
apacheGH-49538: Match GTest try-compile configuration
GH-49538: [C++][FlightRPC][ODBC] Use static linkage in Windows Flight…
raulcd commentedon Sep 29, 2026
Issue resolved by pull request 49585
#49585