Install#

We provide binary packages for some platforms. If your platform isn’t included these platforms, you need to build by yourself.

Debian GNU/Linux and Ubuntu#

Here are supported versions:

  • Debian GNU/Linux bullseye

  • Debian GNU/Linux bookworm

  • Ubuntu 20.04 LTS

  • Ubuntu 22.04 LTS

$ sudo apt update
$ sudo apt install -y -V ca-certificates lsb-release wget
$ wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
$ sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
$ sudo apt update
$ sudo apt install -y -V libdatafusion-dev # For C
$ sudo apt install -y -V libdatafusion-glib-dev # For GLib

AlmaLinux 8 and Red Hat Enterprise Linux 8#

$ sudo dnf install -y epel-release || sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
$ sudo dnf install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
$ sudo dnf config-manager --set-enabled epel || :
$ sudo dnf config-manager --set-enabled powertools || :
$ sudo dnf config-manager --set-enabled codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-rhui-rpms || :
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-$(arch)-rpms || :
$ sudo dnf install -y datafusion-devel # For C
$ sudo dnf install -y datafusion-glib-devel # For GLib

AlmaLinux 9 and Red Hat Enterprise Linux 9#

$ sudo dnf install -y epel-release || sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
$ sudo dnf install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
$ sudo dnf config-manager --set-enabled epel || :
$ sudo dnf config-manager --set-enabled crb || :
$ sudo dnf config-manager --set-enabled codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-rhui-rpms || :
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)-$(arch)-rpms || :
$ sudo dnf install -y datafusion-devel # For C
$ sudo dnf install -y datafusion-glib-devel # For GLib

Build from source#

If you don’t need GLib API, you can use Cargo based install instruction:

$ cargo install cargo-c
$ cargo cbuild
$ cargo cinstall

See the cargo-c’s document for more build and install options.

If you need GLib API, you need both of Cargo and Meson.

$ cargo install cargo-c
$ meson setup build .
$ meson install -C build

See the Meson’s Built-in options document for more setup options. Especially, you need to know the --prefix option.

Here are DataFusion GLib specific options:

DataFusion GLib specific options#

Syntax

Description

Default

-Ddoc=BOOLEAN

Whether document is built by GTK-Doc or not.

false

-Dvapi=BOOLEAN

Whether Vala support is built by or not.

false