elixir-explorer / adbc

Apache Arrow ADBC bindings for Elixir
https://arrow.apache.org/adbc/
Apache License 2.0
45 stars 16 forks source link

Specify cross-compiler for Adbc #19

Open cocoa-xu opened 1 year ago

cocoa-xu commented 1 year ago

Right now Adbc would always use /usr/bin/x86_64-linux-gnu-gcc as the compiler. I'll try it and see how do I specify cross-compiler for Adbc. We should be able to do that by specifying CMAKE_TOOLCHAIN_FILE.

cocoa-xu commented 1 year ago

Actually, there is no need to build for other Linux targets than x86_64 because we're downloading official drivers which only have support for x86_64 Linux.

lidavidm commented 5 months ago

Where are the drivers being downloaded from? They should build on Linux (x64/ARM), macOS (x64/ARM), and Windows (x64). We only provide binaries via conda-forge, and those packages don't yet build for Windows there (someone needs to figure out the CI issues).

cocoa-xu commented 5 months ago

Where are the drivers being downloaded from? They should build on Linux (x64/ARM), macOS (x64/ARM), and Windows (x64). We only provide binaries via conda-forge, and those packages don't yet build for Windows there (someone needs to figure out the CI issues).

We currently download drivers from the release page, for example, https://github.com/apache/arrow-adbc/releases/tag/apache-arrow-adbc-0.11.0. These drivers are extracted from Python wheels.

lidavidm commented 5 months ago

ah, good to know, thanks. Uh, I suppose that isn't the intended use, but if it works...

cocoa-xu commented 5 months ago

ah, good to know, thanks. Uh, I suppose that isn't the intended use, but if it works...

Oh we were compiling these drivers at some point (hence the cc_toolchains directory in the repo), but I forgot if it was because it took too much time on CI or for other reasons, we decided to just use these drivers from Python wheels...

josevalim commented 5 months ago

@lidavidm it would be nice if we could have only the drivers (outside of the wheels) but due to ADBC's design, they just work, yeah, so at least for now we don't see a reason to. :)