Installation

We help you how to get your extension going within your respective environment.

Introduction

Work in progress

This section is still work in progress. We are working hard to provide you with the best possible experience. If you have any questions, please do not hesitate to contact us.

The ERPL is essentially an extension for the DuckDB in-process SQL OLAP database management system. This means that you need to install DuckDB first before you can use the ERPL. You can find links to the binary packages and installation instructions for DuckDB {target=“_blank”} in the original documentation.

DuckDB provides an extension system which enables to extend the functionality of the database in various directions. The extension are distributed as packages for the platforms Windows, Linux, and macOS. We try to mimic the installation procedure of DuckDB as good as possible.

Note

At this point of time, ERPL supports version 0.10.3 and 1.0.0 of DuckDB.

➜ Obtaining the ERPL Extension

Introduction

Building extensions for DuckDB can be challenging due to the varying C++ compiler and library ecosystem. This variability often leads to incompatibilities between locally built extensions and the centrally distributed DuckDB binary, primarily due to differences in the Application Binary Interface (ABI).

Binary Selection

The assets in each release follow this naming convention:

erpl-${DUCKDB_VERSION}-extension-{OS}-{ARCH}.tar.gz

Choose the binary that matches your usage scenario. The table below summarizes the available binaries for various platforms and use cases:

DuckDB Version Operating System Architecture Download Link
0.10.3 Linux amd64 Download
0.10.3 Linux amd64 (GCC4) Download
0.10.3 Windows amd64 Download
1.0.0 Linux amd64 Download
1.0.0 Linux amd64 (GCC4) Download
1.0.0 Windows amd64 Download
1.0.0 Mac OS arm Download
1.0.0 Mac OS amd64 Download

💻 Installing the ERPL Binaries

Introduction

Installation of the ERPL extension is straightforward. Please note that this extension is independent of the DuckDB Foundation and DuckDB Labs, meaning the binaries are unsigned. Consequently, DuckDB must be initiated with the -unsigned flag. Detailed instructions on this process can be found in the DuckDB documentation.

Installation Steps

  1. Enable Unsigned Extensions in DuckDB: Set the -unsigned flag as described in the DuckDB documentation.

  2. Install and Load the ERPL Extension:

    INSTALL 'path/to/erpl.duckdb_extension';
    LOAD 'erpl';

Confirmation of Successful Installation

Upon successful installation and loading, the extension will output the following message:

-- Loading ERPL Trampoline Extension. --
(Saves ERPL SAP dependencies to '/home/jr/.duckdb/extensions/v0.9.2/linux_amd64' and loads them)
ERPL extension saved and loaded from /home/jr/.duckdb/extensions/v0.9.2/linux_amd64/erpl_impl.duckdb_extension.
For usage instructions, visit https://erpl.io

Understanding the Extension Loading Process

The ERPL extension is composed of two parts: 1. Trampoline Extension: Extracts SAP Netweaver RFC SDK and SAP Business Warehouse BICS libraries from the binary. 2. Implementation Extension: The actual functional part of the extension.

The erpl_init function in the trampoline extension bundles and extracts dependencies into the DuckDB extension folder. Post-installation, the directory ~/.duckdb/extensions/v0.10.1/linux_amd64 should contain the following files:

-rw-r--r-- 1 jr jr 110M 26. Nov 10:23 erpl.duckdb_extension
-rw-r--r-- 1 jr jr  34M 26. Nov 10:35 erpl_impl.duckdb_extension
-rw-r--r-- 1 jr jr  20M 26. Nov 10:35 libicudata.so.50
-rw-r--r-- 1 jr jr  12M 26. Nov 10:35 libicui18n.so.50
-rw-r--r-- 1 jr jr 8,4M 26. Nov 10:35 libicuuc.so.50
-rw-r--r-- 1 jr jr 9,5M 26. Nov 10:35 libsapnwrfc.so
-rw-r--r-- 1 jr jr 1,1M 26. Nov 10:35 libsapucum.so

This revised section aims for a clearer, more structured presentation of the installation process, ensuring users can easily understand and follow the steps.

Adding a license key for BICS and ODP

Work in progress

This section is still work in progress. We are working hard to provide you with the best possible experience. If you have any questions, please do not hesitate to contact us.

Manual Installation: Total Control

For those who like to roll up their sleeves, we also offer comprehensive guides for manual installation. This is perfect for users who need more control over their installation, prefer specific versions of DuckDB, or are working in environments with unique constraints. We’ll walk you through the entire process, from downloading the source code to the final setup, ensuring that you’re comfortable at every step.