1.1.0 build breaks dependant packages #529

Closed
opened 2026-01-29 20:45:14 +00:00 by claunia · 0 comments
Owner

Originally created by @jrynkiew on GitHub (Jan 9, 2025).

With the new changes to static library builds, the projects which utilize brotli, for example "curl", do not work with static builds anymore.

The working way to build it with brotli 1.0.9 using

cd ${BUILDS_FOLDER}/curl \
    && autoreconf -fi \
    && mkdir ${BUILDS_FOLDER}/curl64 && cd ${BUILDS_FOLDER}/curl64 \
    &&  CPPFLAGS="-DNGHTTP2_STATICLIB -DBROTLI_STATICLIB -I${PREFIX}/${TARGET64}/include" \
        PKG_CONFIG="pkg-config --static" \
        PKG_CONFIG_PATH="${PREFIX}/${TARGET64}/lib64/pkgconfig/:${PREFIX}/${TARGET64}/lib/pkgconfig" \
        LDFLAGS="-static -L${PREFIX}/${TARGET64}/lib" \
            ../curl/configure \
            --host=x86_64-w64-mingw32 \
            --prefix=${PREFIX}/${TARGET64} \
            --enable-static \
            --disable-shared \
            --with-openssl \
            --with-libpsl \
            --with-brotli \
            --with-nghttp2 \
        && make -j`nproc` \
        && make install

If applying this code to brotli 1.1.0, the Configure step doesn't detect brotli, and even if you try to hack it's way to making it find it, it will give linking errors.

Originally created by @jrynkiew on GitHub (Jan 9, 2025). With the new changes to static library builds, the projects which utilize brotli, for example "curl", do not work with static builds anymore. The working way to build it with brotli 1.0.9 using ``` cd ${BUILDS_FOLDER}/curl \ && autoreconf -fi \ && mkdir ${BUILDS_FOLDER}/curl64 && cd ${BUILDS_FOLDER}/curl64 \ && CPPFLAGS="-DNGHTTP2_STATICLIB -DBROTLI_STATICLIB -I${PREFIX}/${TARGET64}/include" \ PKG_CONFIG="pkg-config --static" \ PKG_CONFIG_PATH="${PREFIX}/${TARGET64}/lib64/pkgconfig/:${PREFIX}/${TARGET64}/lib/pkgconfig" \ LDFLAGS="-static -L${PREFIX}/${TARGET64}/lib" \ ../curl/configure \ --host=x86_64-w64-mingw32 \ --prefix=${PREFIX}/${TARGET64} \ --enable-static \ --disable-shared \ --with-openssl \ --with-libpsl \ --with-brotli \ --with-nghttp2 \ && make -j`nproc` \ && make install ``` If applying this code to brotli 1.1.0, the Configure step doesn't detect brotli, and even if you try to hack it's way to making it find it, it will give linking errors.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/brotli#529