Skip to content

Commit

Permalink
Update libraries and GHA
Browse files Browse the repository at this point in the history
- Updated libraries
  - PostgreSQL v16 & v15
  - SQLite
- Removed PostgreSQL v11
- Download libxml2 from GitHub
  - Also run autogen.sh to generate the configure script
- Added curl retry option
- Install clippy by default too

Signed-off-by: BlackDex <[email protected]>
  • Loading branch information
BlackDex committed Nov 26, 2024
1 parent 2be54c4 commit 2833e87
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 116 deletions.
61 changes: 9 additions & 52 deletions .github/workflows/rust-musl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ jobs:

steps:
- name: Checkout Repo
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Install Stable Rust Toolchain
uses: dtolnay/rust-toolchain@ed2356ad628626a6b3f5be6c3e0255c0454fcdb9 # stable @ Aug 8, 2024, 7:37 PM GMT+2
uses: dtolnay/rust-toolchain@4f647fc679bcd3b11499ccb42104547c83dabe96 # stable @ Nov 18, 2024, 5:36 AM GMT+1

- name: Get Rust version info
id: rust_versions
Expand Down Expand Up @@ -245,7 +245,7 @@ jobs:

steps:
- name: Checkout Repo
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

# This action is messing with the host caching when using `act`
- name: Setup Docker Buildx (setup-buildx-action)
Expand Down Expand Up @@ -363,7 +363,7 @@ jobs:
- name: Docker Build - Rust Current Stable
# Skip during nightly builds
if: ${{ needs.build_vars.outputs.stable_trigger || !needs.build_vars.outputs.nightly_trigger }}
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
# Set load to true so that we can test the builded image in the next step
Expand Down Expand Up @@ -410,25 +410,10 @@ jobs:
-e RUSTFLAGS="${{ matrix.env.XTRA_RUSTFLAGS }}-Clink-arg=-s" \
blackdex/rust-musl:${{ matrix.env.IMAGE_TAG }}-test bash -c 'rm -vf Cargo.lock ; cargo -Vv ; rustc -Vv ; cargo update ; cargo build --release'
- name: Test Docker Image (PQ11) - Rust Current Stable
# Skip during nightly builds
if: ${{ needs.build_vars.outputs.stable_trigger || !needs.build_vars.outputs.nightly_trigger }}
# continue-on-error: true
run: |
# Run the test
docker run --rm \
-v cargo-cache-${{ matrix.env.IMAGE_TAG }}:/root/.cargo/registry \
-v "$(pwd)/test/multicrate":/home/rust/src \
--tmpfs /home/rust/src/target:rw,exec,mode=1777 \
-e RUST_BACKTRACE=1 \
-e PQ_LIB_DIR="/usr/local/musl/pq11/lib" \
-e RUSTFLAGS="${{ matrix.env.XTRA_RUSTFLAGS }}-Clink-arg=-s" \
blackdex/rust-musl:${{ matrix.env.IMAGE_TAG }}-test bash -c 'rm -vf Cargo.lock ; cargo -Vv ; rustc -Vv ; cargo update ; cargo build --release'
- name: Docker Push - Rust Current Stable
# Skip during nightly builds
if: ${{ needs.build_vars.outputs.stable_trigger || !needs.build_vars.outputs.nightly_trigger }}
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
# Run this step also when using `act`, but do not push the images when build locally
Expand All @@ -451,7 +436,7 @@ jobs:
- name: Docker Build - Rust Vaultwarden Stable
# Skip during nightly builds
if: ${{ needs.build_vars.outputs.stable_version != needs.build_vars.outputs.vaultwarden_version && (needs.build_vars.outputs.stable_trigger || !needs.build_vars.outputs.nightly_trigger) }}
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
# Set load to true so that we can test the builded image in the next step
Expand Down Expand Up @@ -497,25 +482,10 @@ jobs:
-e RUSTFLAGS="${{ matrix.env.XTRA_RUSTFLAGS }}-Clink-arg=-s" \
blackdex/rust-musl:${{ matrix.env.IMAGE_TAG }}-vw-test bash -c 'rm -vf Cargo.lock ; cargo -Vv ; rustc -Vv ; cargo update ; cargo build --release'
- name: Test Docker Image (PQ11) - Rust Vaultwarden Stable
# Skip during nightly builds
if: ${{ needs.build_vars.outputs.stable_version != needs.build_vars.outputs.vaultwarden_version && (needs.build_vars.outputs.stable_trigger || !needs.build_vars.outputs.nightly_trigger) }}
# continue-on-error: true
run: |
# Run the test
docker run --rm \
-v cargo-cache:/root/.cargo/registry \
-v "$(pwd)/test/multicrate":/home/rust/src \
--tmpfs /home/rust/src/target:rw,exec,mode=1777 \
-e RUST_BACKTRACE=1 \
-e PQ_LIB_DIR="/usr/local/musl/pq11/lib" \
-e RUSTFLAGS="${{ matrix.env.XTRA_RUSTFLAGS }}-Clink-arg=-s" \
blackdex/rust-musl:${{ matrix.env.IMAGE_TAG }}-vw-test bash -c 'rm -vf Cargo.lock ; cargo -Vv ; rustc -Vv ; cargo update ; cargo build --release'
- name: Docker Push - Rust Vaultwarden Stable
# Skip during nightly builds
if: ${{ needs.build_vars.outputs.stable_version != needs.build_vars.outputs.vaultwarden_version && (needs.build_vars.outputs.stable_trigger || !needs.build_vars.outputs.nightly_trigger) }}
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
# Run this step also when using `act`, but do not push the images when build locally
Expand All @@ -535,7 +505,7 @@ jobs:
# ###
# Rust Nightly
- name: Docker Build - Rust Nightly
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
# Set load to true so that we can test the builded image in the next step
Expand Down Expand Up @@ -577,21 +547,8 @@ jobs:
-e RUSTFLAGS="${{ matrix.env.XTRA_RUSTFLAGS }}-Clink-arg=-s" \
blackdex/rust-musl:${{ matrix.env.IMAGE_TAG }}-nightly-test bash -c 'rm -vf Cargo.lock ; cargo -Vv ; rustc -Vv ; cargo update ; cargo build --release'
- name: Test Docker Image (PQ11) - Rust Nightly
# continue-on-error: true
run: |
# Run the test
docker run --rm \
-v cargo-cache:/root/.cargo/registry \
-v "$(pwd)/test/multicrate":/home/rust/src \
--tmpfs /home/rust/src/target:rw,exec,mode=1777 \
-e RUST_BACKTRACE=1 \
-e PQ_LIB_DIR="/usr/local/musl/pq11/lib" \
-e RUSTFLAGS="${{ matrix.env.XTRA_RUSTFLAGS }}-Clink-arg=-s" \
blackdex/rust-musl:${{ matrix.env.IMAGE_TAG }}-nightly-test bash -c 'rm -vf Cargo.lock ; cargo -Vv ; rustc -Vv ; cargo update ; cargo build --release'
- name: Docker Push - Rust Nightly
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
context: .
# Run this step also when using `act`, but do not push the images when build locally
Expand Down
80 changes: 32 additions & 48 deletions Dockerfile.musl-base
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ ENV PATH="${TARGET_PREFIX}/bin:${CARGO_HOME}/bin:${PATH}" \
TARGET_RANLIB="${TARGET}-ranlib" \
TARGET_LDFLAGS="-flto=auto -s -pie -static-libstdc++ -L${TARGET_PREFIX}/lib -L${SYSROOT}/lib" \
SHARED_CPPFLAGS="-I${TARGET_PREFIX}/include -I${SYSROOT}/include ${ARCH_CPPFLAGS}" \
SHARED_CFLAGS="--sysroot=${SYSROOT} -g0 -O2 -fstack-clash-protection -fstack-protector-strong -fPIE -pie -fpie -Wl,-pie --static -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--sort-common -Wa,--noexecstack" \
SHARED_CFLAGS="--sysroot=${SYSROOT} -g0 -O3 -fstack-clash-protection -fstack-protector-strong -fPIE -pie -fpie -Wl,-pie --static -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--sort-common -Wa,--noexecstack" \
RUST_MUSL_CROSS_TARGET="${TARGET}" \
# pkg-config
PKG_CONFIG_PATH="${TARGET_PREFIX}/lib/pkgconfig" \
Expand All @@ -74,10 +74,9 @@ ENV PATH="${TARGET_PREFIX}/bin:${CARGO_HOME}/bin:${PATH}" \
SSL_VER="3.0.15" \
CURL_VER="8.11.0" \
ZLIB_VER="1.3.1" \
PQ_11_VER="11.22" \
PQ_15_VER="15.9" \
PQ_16_VER="16.5" \
SQLITE_VER="3470000" \
PQ_15_VER="15.10" \
PQ_16_VER="16.6" \
SQLITE_VER="3470100" \
MARIADB_VER="3.3.11" \
LIBXML2_VER="2.13.5"

Expand All @@ -92,7 +91,7 @@ RUN mkdir -p "${TARGET_PREFIX}/tbin" /home/rust/src && \
# Build zlib (used in openssl, curl, pq, sqlite and mariadb)
# hadolint ignore=DL3003
RUN echo "zlib" && \
curl -sSL "https://zlib.net/zlib-${ZLIB_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://zlib.net/zlib-${ZLIB_VER}.tar.gz" | tar xz && \
cd "zlib-${ZLIB_VER}" && \
PKG_CONFIG_PATH="${TARGET_PKG_CONFIG_PATH}" \
AR="${TARGET_AR}" \
Expand All @@ -113,7 +112,7 @@ RUN echo "zlib" && \
# Build OpenSSL (used in curl, pq and mariadb)
# hadolint ignore=DL3003
RUN echo "OpenSSL" && \
curl -sSL "https://github.com/openssl/openssl/releases/download/openssl-${SSL_VER}/openssl-${SSL_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://github.com/openssl/openssl/releases/download/openssl-${SSL_VER}/openssl-${SSL_VER}.tar.gz" | tar xz && \
cd "openssl-${SSL_VER}" && \
# Download patches for openssl from Alpine to fix CVE's
# https://pkgs.alpinelinux.org/packages?name=openssl&branch=v3.17&arch=x86_64
Expand Down Expand Up @@ -171,7 +170,7 @@ RUN echo "OpenSSL" && \
# Build curl (needs with-zlib and all this stuff to allow https)
# hadolint ignore=DL3003
RUN echo "libcurl" && \
curl -sSL "https://curl.se/download/curl-${CURL_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://curl.se/download/curl-${CURL_VER}.tar.gz" | tar xz && \
cd "curl-${CURL_VER}" && \
# Rename libatomic.la to libatomic.la_disabled
if [[ "${TARGET}" == "arm-unknown-linux-musleabi" ]] ; then \
Expand Down Expand Up @@ -217,39 +216,10 @@ RUN echo "libcurl" && \
# Default cleanups
find /var/log -type f -delete && rm -rf "${TARGET_PREFIX}/share/man"

# Build libpq v11
# hadolint ignore=DL3003
RUN echo "PostgreSQL v11" && \
curl -sSL "https://ftp.postgresql.org/pub/source/v${PQ_11_VER}/postgresql-${PQ_11_VER}.tar.gz" | tar xz && \
cd "postgresql-${PQ_11_VER}" && \
if [[ "${TARGET}" == "arm-unknown-linux-musleabi" ]] ; then export LIBS="-latomic" ; fi && \
AR="${TARGET_AR}" \
LD="${TARGET_LD}" \
RANLIB="${TARGET_RANLIB}" \
LDFLAGS="${TARGET_LDFLAGS}" \
CPPFLAGS="${SHARED_CPPFLAGS}" \
CFLAGS="${SHARED_CFLAGS} -flto=auto -ffat-lto-objects" \
CC="${TARGET_CC}" \
./configure \
--host="${TARGET}" \
--target="${TARGET}" \
--without-readline \
--with-openssl \
--disable-rpath \
--with-system-tzdata=/usr/share/zoneinfo \
--prefix="${TARGET_PREFIX}/pq11" && \
# build libpq only
cd src/interfaces/libpq && \
make -j"$(nproc)" all-static-lib && \
make -j"$(nproc)" install-lib-static && \
cd /tmp && rm -rf "postgresql-${PQ_11_VER}" && \
# Default cleanups
find /var/log -type f -delete && rm -rf "${TARGET_PREFIX}/share/man"

# Build libpq v15
# hadolint ignore=DL3003
RUN echo "PostgreSQL v15" && \
curl -sSL "https://ftp.postgresql.org/pub/source/v${PQ_15_VER}/postgresql-${PQ_15_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://ftp.postgresql.org/pub/source/v${PQ_15_VER}/postgresql-${PQ_15_VER}.tar.gz" | tar xz && \
cd "postgresql-${PQ_15_VER}" && \
if [[ "${TARGET}" == "arm-unknown-linux-musleabi" ]] ; then export LIBS="-latomic" ; fi && \
AR="${TARGET_AR}" \
Expand Down Expand Up @@ -300,7 +270,7 @@ RUN echo "PostgreSQL v15" && \
# Build libpq v16
# hadolint ignore=DL3003
RUN echo "PostgreSQL v16" && \
curl -sSL "https://ftp.postgresql.org/pub/source/v${PQ_16_VER}/postgresql-${PQ_16_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://ftp.postgresql.org/pub/source/v${PQ_16_VER}/postgresql-${PQ_16_VER}.tar.gz" | tar xz && \
cd "postgresql-${PQ_16_VER}" && \
if [[ "${TARGET}" == "arm-unknown-linux-musleabi" ]] ; then export LIBS="-latomic" ; fi && \
AR="${TARGET_AR}" \
Expand Down Expand Up @@ -352,7 +322,7 @@ RUN echo "PostgreSQL v16" && \
# Build libsqlite3
# hadolint ignore=DL3003
RUN echo "SQLite3" && \
curl -sSL "https://www.sqlite.org/2024/sqlite-autoconf-${SQLITE_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://www.sqlite.org/2024/sqlite-autoconf-${SQLITE_VER}.tar.gz" | tar xz && \
cd "sqlite-autoconf-${SQLITE_VER}" && \
AR="${TARGET_AR}" \
LD="${TARGET_LD}" \
Expand Down Expand Up @@ -415,11 +385,9 @@ RUN echo "SQLite3" && \
find /var/log -type f -delete && rm -rf "${TARGET_PREFIX}/share/man"

# Building MariaDB
# It seems that MariaDB has some issues when compiled with LTO enabled https://jira.mariadb.org/browse/MDEV-25633
# Therefor i will not compile MariaDB with LTO, but -O2 should help a bit in getting some better performance.
# hadolint ignore=DL3003,SC2016
RUN echo "MariaDB Connector/C" && \
curl -sSL "https://github.com/mariadb-corporation/mariadb-connector-c/archive/refs/tags/v${MARIADB_VER}.tar.gz" | tar xz && \
curl -sSL --retry 3 "https://github.com/mariadb-corporation/mariadb-connector-c/archive/refs/tags/v${MARIADB_VER}.tar.gz" | tar xz && \
cd "mariadb-connector-c-${MARIADB_VER}" && \
# Download patches for mariadb from Alpine to fix building issues
# https://pkgs.alpinelinux.org/packages?name=mariadb-connector-c&branch=v3.20&arch=x86_64
Expand All @@ -442,6 +410,8 @@ RUN echo "MariaDB Connector/C" && \
CFLAGS="${_GCC_SPECS} ${SHARED_CFLAGS} -flto=auto -ffat-lto-objects" \
CC="${TARGET_CC}" \
cmake \
# -LAH
-DWITH_DOCS=OFF \
-DCMAKE_SYSROOT="${SYSROOT}" \
-DCMAKE_IGNORE_PATH="/usr/include" \
-DCMAKE_INSTALL_PREFIX="${TARGET_PREFIX}" \
Expand All @@ -461,9 +431,12 @@ RUN echo "MariaDB Connector/C" && \
-DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=STATIC \
-DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC \
-DCLIENT_PLUGIN_CLIENT_ED25519=STATIC \
-DCLIENT_PLUGIN_PARSEC=STATIC \
-DCLIENT_PLUGIN_MYSQL_OLD_PASSWORD=OFF \
-DCLIENT_PLUGIN_REMOTE_IO=OFF \
-DDEFAULT_CHARSET=utf8mb4 \
../ && \
-DDEFAULT_SSL_VERIFY_SERVER_CERT=OFF \
../ && \
make -j"$(nproc)" && make install && \
cd /tmp && rm -rf "mariadb-connector-c-${MARIADB_VER}" && \
# Create some compatibilty symlinks so pkg-config and diesel can find all the correct files
Expand All @@ -481,8 +454,19 @@ RUN echo "MariaDB Connector/C" && \
# Build libxml2
# hadolint ignore=DL3003
RUN echo "libxml" && \
curl -sSL --retry 3 "https://download.gnome.org/sources/libxml2/${LIBXML2_VER%.*}/libxml2-${LIBXML2_VER}.tar.xz" | tar xJ && \
curl -sSL --retry 3 "https://github.com/GNOME/libxml2/archive/refs/tags/v${LIBXML2_VER}.tar.gz" | tar xz && \
cd "libxml2-${LIBXML2_VER}" && \
# autogen
AR="${TARGET_AR}" \
LD="${TARGET_LD}" \
RANLIB="${TARGET_RANLIB}" \
LDFLAGS="${TARGET_LDFLAGS}" \
CPPFLAGS="${SHARED_CPPFLAGS}" \
CFLAGS="${SHARED_CFLAGS} -flto=auto -ffat-lto-objects -fno-semantic-interposition" \
CC="${TARGET_CC}" \
NOCONFIGURE="true" \
./autogen.sh && \
# configure
AR="${TARGET_AR}" \
LD="${TARGET_LD}" \
RANLIB="${TARGET_RANLIB}" \
Expand Down Expand Up @@ -516,8 +500,8 @@ ARG RUSTC_HASH=
RUN echo "Triggering Rust install for channel '${RUST_CHANNEL}' and rustc-hash '${RUSTC_HASH}'." && \
# `--target` to musl so that our users don't need to keep overriding it manually.
# `--profile minimal` to reduce the image size, we do not need to cargo/rust manual within docker
curl --proto '=https' --tlsv1.2 -sqSf https://sh.rustup.rs | \
sh -s -- -y --profile minimal --component rustfmt --default-toolchain "${RUST_CHANNEL}" --target "${RUST_MUSL_CROSS_TARGET}" && \
curl --retry 3 --proto '=https' --tlsv1.2 -sqSf https://sh.rustup.rs | \
sh -s -- -y --profile minimal --component rustfmt clippy --default-toolchain "${RUST_CHANNEL}" --target "${RUST_MUSL_CROSS_TARGET}" && \
rustup set profile minimal && \
# Truncate all files within the share folder, since we do not need them, but removing them prevents us from installing or updating toolchains
find "${RUSTUP_HOME}/toolchains/${RUST_CHANNEL}-$(uname -m)-unknown-linux-gnu/share/" -type f -exec truncate -s0 {} \; && \
Expand Down Expand Up @@ -553,7 +537,7 @@ ENV HOST="x86_64-unknown-linux-gnu" \
TARGET_PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR}" \
# pq-sys (PosgreSQL) support
PQ_LIB_STATIC=1 \
PQ_LIB_DIR="${TARGET_PREFIX}/pq15/lib" \
PQ_LIB_DIR="${TARGET_PREFIX}/pq16/lib" \
# openssl-sys support
OPENSSL_STATIC=1 \
OPENSSL_DIR="${TARGET_PREFIX}" \
Expand Down
32 changes: 18 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ The following libraries are pre-build and marked as `STATIC` already via `ENV` v
* OpenSSL (`v3.0.15`)
* cURL (`v8.11.0`)
* ZLib (`v1.3.1`)
* PostgreSQL lib (`v16.5`) and (`v15.9`) and legacy (`v11.22`)
* SQLite (`v3.47.0`)
* PostgreSQL lib (`v16.6`) and (`v15.10`)
* SQLite (`v3.47.1`)
* MariaDB Connector/C (`v3.3.11`) (MySQL Compatible)
* libxml2 (`v2.13.5`)

Expand All @@ -33,25 +33,29 @@ Stables builds are automatically triggered if there is a new version available.

### OpenSSL v3.0

Since 2023-09-29 I stopped building OpenSSL v1.1.1 since it's EOL.<br>
Now only OpenSSL v3.0 is being build.
> [!NOTE] 2024-03-15
> I stopped adding the `-openssl3` postfix to the tags.
Since 2024-03-15 I stopped adding the `-openssl3` postfix to the tags.
> [!NOTE] 2023-09-29
> I stopped building OpenSSL v1.1.1 since it's EOL.<br>
> Now only OpenSSL v3.0 is being build.

### PostgreSQL v16 & v15 (and legacy v11)
### PostgreSQL v16 & v15

The default PostgreSQL lib used is v16.<br>
If you want to use v16 or legacy v11 you need to overwrite an environment variable so that the postgresql crate will look at the right directory.<br>
If you want to use v15 you need to overwrite an environment variable so that the postgresql crate will look at the right directory.<br>
<br>
Adding `-e PQ_LIB_DIR="/usr/local/musl/pq15/lib"` at the cli or `ENV PQ_LIB_DIR="/usr/local/musl/pq15/lib"` to your custom build image will trigger the v15 version to be used during the build. The same goes for using the legacy `v11`, just use `ENV PQ_LIB_DIR="/usr/local/musl/pq11/lib"`.
Adding `-e PQ_LIB_DIR="/usr/local/musl/pq15/lib"` at the cli or `ENV PQ_LIB_DIR="/usr/local/musl/pq15/lib"` to your custom build image will trigger the v15 version to be used during the build.

> [!NOTE] 2024-11-26:<br>
> Stopped building libpq v11, it has been deprecated for a while now.
**NOTE** 2024-08-02:<br>
In some situations it could be that the libpq v11 was still used. Depending if during the compilation of the code other crates added the main library path as a search path after `pq-sys` did, which caused rustc to use a different libpq.a.<br>
This has been solved now by moving the library file for v11 to a separate directory also. The default directory is changed and should not cause any issues unless you set the `PQ_LIB_DIR` variable your self to anything else then the v15 directory.
> [!NOTE] 2024-08-08:<br>
> libpq v16 is now the default version. v15 and v11 are still build and available.
**NOTE** 2024-08-08:<br>
libpq v16 is now the default version. v15 and v11 are still build and available.
> [!NOTE] 2024-08-02:<br>
> In some situations it could be that the libpq v11 was still used. Depending if during the compilation of the code other crates added the main library path as a search path after `pq-sys` did, which caused rustc to use a different libpq.a.<br>
> This has been solved now by moving the library file for v11 to a separate directory also. The default directory is changed and should not cause any issues unless you set the `PQ_LIB_DIR` variable your self to anything else then the v15 directory.
<br>

Expand Down
Loading

0 comments on commit 2833e87

Please sign in to comment.