Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,8 @@ RUN dpkg --add-architecture ${target_arch_dpkg}
RUN apt-get update && \
apt-get install -qq -y --no-install-recommends \
python3-dev \
lowdown
lowdown \
libatomic1

# Install target-arch libraries
RUN apt-get install -qq -y --no-install-recommends \
Expand All @@ -114,7 +115,8 @@ RUN apt-get install -qq -y --no-install-recommends \
libsqlite3-dev:${target_arch_dpkg} \
libpq-dev:${target_arch_dpkg} \
libsodium-dev:${target_arch_dpkg} \
crossbuild-essential-${target_arch_dpkg}
crossbuild-essential-${target_arch_dpkg} \
python3-dev:${target_arch_dpkg}

ARG AR=${target_arch}-ar
ARG AS=${target_arch}-as
Expand Down
1 change: 1 addition & 0 deletions contrib/reprobuild/Dockerfile.jammy
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ RUN apt-get update && \
libsodium-dev \
libtool \
m4 \
pkg-config \
sudo \
unzip \
wget \
Expand Down
1 change: 1 addition & 0 deletions contrib/reprobuild/Dockerfile.noble
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ RUN apt-get update \
lowdown \
libtool \
m4 \
pkg-config \
sudo \
unzip \
wget \
Expand Down
1 change: 1 addition & 0 deletions contrib/reprobuild/Dockerfile.resolute
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ RUN apt-get update \
lowdown \
libtool \
m4 \
pkg-config \
sudo \
unzip \
wget \
Expand Down
37 changes: 20 additions & 17 deletions doc/getting-started/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ Get dependencies:
sudo apt-get update
sudo apt-get install -y \
jq autoconf automake build-essential git libtool libsqlite3-dev libffi-dev \
python3 python3-pip net-tools zlib1g-dev libsodium-dev gettext lowdown
python3 python3-pip net-tools zlib1g-dev libsodium-dev gettext lowdown pkg-config
pip3 install --upgrade pip
curl -LsSf https://astral.sh/uv/install.sh | sh
```

After installing uv, restart your shell or run `source ~/.bashrc` to ensure `uv` is in your PATH.
After installing uv, restart your shell or run the command shown by the install output (usually `source $HOME/.local/bin/env`) to ensure `uv` is in your PATH.

If you don't have Bitcoin installed locally you'll need to install that as well. It's now available via [snapd](https://snapcraft.io/bitcoin-core).
```shell
Expand Down Expand Up @@ -180,7 +180,8 @@ sudo dnf update -y && \
protobuf-compiler \
protobuf-devel \
postgresql-devel \
python3-mako && \
python3-mako \
pkgconf-pkg-config && \
sudo dnf clean all
```

Expand Down Expand Up @@ -240,7 +241,7 @@ lightningd --network=testnet

OS version: FreeBSD 11.1-RELEASE or above
```shell
pkg install git python py39-pip gmake libtool gmp sqlite3 postgresql13-client gettext autotools lowdown libsodium
pkg install git python py39-pip gmake libtool gmp sqlite3 postgresql13-client gettext autotools lowdown libsodium pkgconf
git clone https://github.com/ElementsProject/lightning.git
pip install --upgrade pip
pip3 install mako
Expand Down Expand Up @@ -282,7 +283,7 @@ OS version: OpenBSD 7.3

Install dependencies:
```shell
pkg_add git python gmake py3-pip libtool gettext-tools
pkg_add git python gmake py3-pip libtool gettext-tools pkgconf
pkg_add automake # (select highest version, automake1.16.2 at time of writing)
pkg_add autoconf # (select highest version, autoconf-2.69p2 at time of writing)
```
Expand Down Expand Up @@ -495,26 +496,34 @@ gmake install

Install dependencies:
```shell
pacman --sync autoconf automake gcc git make python-pip
pip install --user poetry
pacman -Sy autoconf automake gcc git make python-pip which libtool lowdown jq libsodium pkgconf
curl -LsSf https://astral.sh/uv/install.sh | sh
```

After installing uv, restart your shell or run the command shown by the install output (usually `source $HOME/.local/bin/env`) to ensure `uv` is in your PATH.

Clone Core Lightning:
```shell
git clone https://github.com/ElementsProject/lightning.git
cd lightning
```

If you want to build the Rust plugins (cln-grpc, clnrest, cln-bip353 and wss-proxy):
```shell
pacman -Sy cargo rustfmt protobuf
```

Build Core Lightning:
```shell
python -m poetry install
uv sync --all-extras --all-groups --frozen
./configure
python -m poetry run make
RUST_PROFILE=release uv run make
sudo RUST_PROFILE=release make install
```

Launch Core Lightning:
```
./lightningd/lightningd
lightningd
```

## To cross-compile for Android
Expand Down Expand Up @@ -620,7 +629,7 @@ Get dependencies:
```shell
apk update
apk add --virtual .build-deps ca-certificates alpine-sdk autoconf automake git libtool \
sqlite-dev python3 py3-mako net-tools zlib-dev libsodium gettext
sqlite-dev python3 py3-mako net-tools zlib-dev libsodium gettext pkgconf
```

Clone lightning:
Expand All @@ -647,9 +656,3 @@ Install runtime dependencies:
```shell
apk add libgcc libsodium sqlite-libs zlib
```

## Python plugins

Python plugins will be installed with the `poetry install` step mentioned above from development setup.

Other users will need some Python packages if python plugins are used. Unfortunately there are some Python packages which are not packaged in Ubuntu, and so forced installation will be needed (Flag `--user` is recommended which will install them in user's own .local directory, so at least the risk of breaking Python globally can be avoided!).
1 change: 1 addition & 0 deletions tools/build-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ if [ -z "${TARGETS##* docker *}" ] || [ -z "${TARGETS##* docker}" ]; then
# --load does not work with multiarch. Only --push works.
# ERROR: docker exporter does not currently support exporting manifest lists
DOCKER_OPTS="--push --platform linux/amd64,linux/arm64,linux/arm/v7"
DOCKER_OPTS="$DOCKER_OPTS --build-arg VERSION=$VERSION"
DOCKER_OPTS="$DOCKER_OPTS -t $DOCKER_USER/lightningd:$VERSION"
DOCKER_OPTS="$DOCKER_OPTS -t $DOCKER_USER/lightningd:latest"
DOCKER_OPTS="$DOCKER_OPTS --cache-to=type=local,dest=/tmp/docker-cache --cache-from=type=local,src=/tmp/docker-cache"
Expand Down
Loading