Skip to content

Commit

Permalink
Merge pull request #3639 from szarnyasg/raspbi-build
Browse files Browse the repository at this point in the history
Raspberry Pi build and minor fixes
  • Loading branch information
szarnyasg authored Sep 14, 2024
2 parents 55dd4c1 + 88eaf18 commit 156219a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 6 deletions.
2 changes: 1 addition & 1 deletion docs/archive/1.0/dev/repositories.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Several components of DuckDB are maintained in separate repositories.
* [`dbt-duckdb`](https://github.com/duckdb/dbt-duckdb): dbt
* [`duckdb_mysql`](https://github.com/duckdb/duckdb_mysql): MySQL connector
* [`pg_duckdb`](https://github.com/duckdb/pg_duckdb): official PostgreSQL extension for DuckDB (run DuckDB in PostgreSQL)
* [`postgres_scanner`](https://github.com/duckdb/postgres_scanner): PostgreSQL connector (connect to PostgreSQL from DuckdB)
* [`postgres_scanner`](https://github.com/duckdb/postgres_scanner): PostgreSQL connector (connect to PostgreSQL from DuckDB)
* [`sqlite_scanner`](https://github.com/duckdb/sqlite_scanner): SQLite connector

## Extensions
Expand Down
23 changes: 19 additions & 4 deletions docs/dev/building/build_instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ git clone https://github.com/duckdb/duckdb

We recommend creating a full clone of the repository. Note that the directory uses approximately 1.3 GB of disk space.

### Building DuckdB
### Building DuckDB

To build DuckDB we use a Makefile which in turn calls into CMake. We also advise using [Ninja](https://ninja-build.org/manual.html) as the generator for CMake.
To build DuckDB, we use a Makefile which in turn calls into CMake. We also advise using [Ninja](https://ninja-build.org/manual.html) as the generator for CMake.

```bash
GEN=ninja make
Expand All @@ -71,13 +71,13 @@ build/release/duckdb
For testing, it can be useful to build DuckDB with statically linked core extensions. To do so, run:

```bash
CORE_EXTENSIONS='autocomplete;icu;parquet;json' GEN=ninja make
CORE_EXTENSIONS='autocomplete;httpfs;icu;parquet;json' GEN=ninja make
```

This option also accepts out-of-tree extensions:

```bash
CORE_EXTENSIONS='autocomplete;icu;parquet;json;delta' GEN=ninja make
CORE_EXTENSIONS='autocomplete;httpfs;icu;parquet;json;delta' GEN=ninja make
```

For more details, see the [“Building Extensions” page]({% link docs/dev/building/building_extensions.md %}).
Expand All @@ -104,6 +104,21 @@ Once the build finishes successfully, you can find the `duckdb.exe` binary in th
./duckdb.exe
```

## Raspberry Pi (32-bit)

On 32-bit Raspberry Pi controllers, you need to add the [`-latomic` link flag](https://github.com/duckdb/duckdb/issues/13855#issuecomment-2341539339).
As extensions are not distributed for this platform, it's recommended to also include them in the build.
For example:

```batch
mkdir build
cd build
cmake .. \
-DBUILD_EXTENSIONS="httpfs;json;parquet" \
-DDUCKDB_EXTRA_LINK_FLAGS="-latomic"
make -j4
```

## Troubleshooting

### The Build Runs Out of Memory
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/repositories.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Several components of DuckDB are maintained in separate repositories.
* [`dbt-duckdb`](https://github.com/duckdb/dbt-duckdb): dbt
* [`duckdb_mysql`](https://github.com/duckdb/duckdb_mysql): MySQL connector
* [`pg_duckdb`](https://github.com/duckdb/pg_duckdb): official PostgreSQL extension for DuckDB (run DuckDB in PostgreSQL)
* [`postgres_scanner`](https://github.com/duckdb/postgres_scanner): PostgreSQL connector (connect to PostgreSQL from DuckdB)
* [`postgres_scanner`](https://github.com/duckdb/postgres_scanner): PostgreSQL connector (connect to PostgreSQL from DuckDB)
* [`sqlite_scanner`](https://github.com/duckdb/sqlite_scanner): SQLite connector

## Extensions
Expand Down

0 comments on commit 156219a

Please sign in to comment.