Missing libbrotlidec-static.a in version 1.1.0 #509

Open
opened 2026-01-29 20:44:58 +00:00 by claunia · 1 comment
Owner

Originally created by @moravveji on GitHub (Jun 7, 2024).

I am building the Brunsli/0.1-GCCcore-13.2.0 module from source on our HPC clusters, and it depends on libbrotlidec-static.a. The latter static library is automatically created with Brotli version 1.0.9. However, in the newer minor release 1.1.0, the static library is no longer created.

This is causing a lot of dependency resolution issues for me when building massive bundle of R packages using EasyBuild (see e.g. (this PR)[https://github.com/easybuilders/easybuild-easyconfigs/pull/20756]).

Now, I wonder how it would be possible to let the build system for version 1.1.0 consistently create libbrotlidec-static.a, so that I can compile my desired version of Brunsli by linking to it.

Originally created by @moravveji on GitHub (Jun 7, 2024). I am building the `Brunsli/0.1-GCCcore-13.2.0` module from source on our HPC clusters, and it depends on `libbrotlidec-static.a`. The latter static library is automatically created with Brotli version 1.0.9. However, in the newer minor release 1.1.0, the static library is no longer created. This is causing a lot of dependency resolution issues for me when building massive bundle of R packages using EasyBuild (see e.g. (this PR)[https://github.com/easybuilders/easybuild-easyconfigs/pull/20756]). Now, I wonder how it would be possible to let the build system for version 1.1.0 consistently create `libbrotlidec-static.a`, so that I can compile my desired version of Brunsli by linking to it.
Author
Owner

@moravveji commented on GitHub (Jun 12, 2024):

When I diff the CMakeLists.txt between version 1.0.9 and 1.1.0, I see that the following directives are removed, resulting in not building libbrotli{dec,enc,common}-static.a.

set(BROTLI_LIBRARIES_CORE_STATIC brotlienc-static brotlidec-static brotlicommon-static)
set(BROTLI_STATIC_LIBS brotlicommon-static brotlidec-static brotlienc-static)
add_library(brotlicommon-static STATIC ${BROTLI_COMMON_C})
add_library(brotlidec-static STATIC ${BROTLI_DEC_C})
add_library(brotlienc-static STATIC ${BROTLI_ENC_C})
target_link_libraries(brotlidec-static brotlicommon-static)
target_link_libraries(brotlienc-static brotlicommon-static)

I wonder why this has happened?
Also, I am thinking of patching version 1.1.0 to restore building the *-static.a libraries. Is that fine?

@moravveji commented on GitHub (Jun 12, 2024): When I `diff` the `CMakeLists.txt` between version 1.0.9 and 1.1.0, I see that the following directives are removed, resulting in not building `libbrotli{dec,enc,common}-static.a`. ``` set(BROTLI_LIBRARIES_CORE_STATIC brotlienc-static brotlidec-static brotlicommon-static) set(BROTLI_STATIC_LIBS brotlicommon-static brotlidec-static brotlienc-static) add_library(brotlicommon-static STATIC ${BROTLI_COMMON_C}) add_library(brotlidec-static STATIC ${BROTLI_DEC_C}) add_library(brotlienc-static STATIC ${BROTLI_ENC_C}) target_link_libraries(brotlidec-static brotlicommon-static) target_link_libraries(brotlienc-static brotlicommon-static) ``` I wonder why this has happened? Also, I am thinking of patching version 1.1.0 to restore building the `*-static.a` libraries. Is that fine?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/brotli#509