Skip to content

Depending on strict versions of libraries to build the compiler results in packaging issues #15137

Closed
@cameel

Description

@cameel

Currently our build system requires specific versions of several smaller libraries we depend on, namely:

  • fmtlib 9.1.0
  • nlohmann-json 3.11.3
  • range-v3 0.12.0

We only ever build and test with those specific versions and update them only sporadically. This means that we won't easily detect issues stemming from someone building with different versions. It's only in this release that we added CMake options that allow using versions available in the system (#14860) and even then the options are undocumented and not officially supported.

This has recently became an issue because Homebrew started enforcing a policy that prevents us from downloading those dependencies at build time (Homebrew/homebrew-core#172338). Since we don't include them in the source archive, the only choice we had for now was to start relying on versions provided by Homebrew, which are different than those expect. We need to address the issue more robustly:

Metadata

Metadata

Assignees

No one assigned

    Labels

    build system 🏗️low effortThere is not much implementation work to be done. The task is very easy or tiny.low impactChanges are not very noticeable or potential benefits are limited.must haveSomething we consider an essential part of Solidity 1.0.

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions