Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error "Not find BROTLIDEC" #111995

Open
SoftStoneDevelop opened this issue Jan 30, 2025 · 8 comments
Open

Build error "Not find BROTLIDEC" #111995

SoftStoneDevelop opened this issue Jan 30, 2025 · 8 comments
Labels
area-Infrastructure-coreclr source-build Issues relating to dotnet/source-build untriaged New issue has not been triaged by the area owner

Comments

@SoftStoneDevelop
Copy link

Description

I try build dotnet/dotnet repo following instructions in:
https://github.com/dotnet/dotnet/blob/main/README.md#dev-instructions
but i get error.

Reproduction Steps

  1. Clone repo
    https://github.com/dotnet/dotnet/
    and switch to release/9.0.1xx branch

  2. Execute

./prep-source-build.sh
  1. On machine i install dependencies:
apt install -y cmake llvm lld clang build-essential \
  python-is-python3 curl git lldb libicu-dev liblttng-ust-dev \
  libssl-dev libkrb5-dev ninja-build pigz cpio
apt install -y build-essential gettext locales cmake llvm clang lld lldb liblldb-dev libunwind8-dev libicu-dev liblttng-ust-dev \
                libssl-dev libkrb5-dev zlib1g-dev pigz cpio
sudo apt install build-essential checkinstall zlib1g-dev libssl-dev -y

  1. Try to build
./build.sh -sb --clean-while-building

Expected behavior

Successfully build SDK

Actual behavior

Get Error

Image

Regression?

No response

Known Workarounds

No response

Configuration

OS is Debian 12

Other information

No response

@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Jan 30, 2025
Copy link
Contributor

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

@SoftStoneDevelop SoftStoneDevelop changed the title Fix build with -DCLR_CMAKE_USE_SYSTEM_BROTLI=true Build error "Not find BROTLIDEC" Jan 30, 2025
@jkotas
Copy link
Member

jkotas commented Jan 30, 2025

On machine i install dependencies:

Where did you get the list of dependencies from? It seems to be missing brotli. The source-build uses system brotli by default, so it has to be installed as a dependency.

cc @omajid

@jkotas jkotas added the source-build Issues relating to dotnet/source-build label Jan 30, 2025
@SoftStoneDevelop
Copy link
Author

SoftStoneDevelop commented Jan 30, 2025

install brotli

On machine i install dependencies:

Where did you get the list of dependencies from? It seems to be missing brotli. The source-build uses system brotli by default, so it has to be installed as a dependency.

cc @omajid

From https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/linux-requirements.md#debian-and-ubuntu
+
https://github.com/dotnet/runtime/blob/main/eng/common/native/install-dependencies.sh(I installed this when I was already desperate)

But even if I install brotli directly

sudo apt install brotli

this is not help

@jkotas
Copy link
Member

jkotas commented Jan 30, 2025

https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/linux-requirements.md#debian-and-ubuntu

These are requirements for building dotnet/runtime repo. Source build has different requirements.

sudo apt install brotli

You need to install brotli dev package, like brotli-dev ?

@omajid
Copy link
Member

omajid commented Jan 30, 2025

Source build has different requirements.

The VMR readme at https://github.com/dotnet/dotnet/blob/main/README.md#dev-instructions points to https://github.com/dotnet/runtime/tree/main/docs/workflow/requirements and as pointed out in this issue, the build requirements are different between runtime and VMR now.

Should we consider adding more conditionals or extra package dependencies to the runtime docs or should we add custom VMR build instructions to the VMR?

cc @MichaelSimons @mthalman

@jkotas
Copy link
Member

jkotas commented Jan 31, 2025

Can we fix this by switching the default dotnet/dotnet build configuration to non-source-build? It would make the set of prerequisites same between dotnet/runtime and dotnet/dotnet by default, and it would make things consistent across platform. (source-build is Linux specific).

@omajid
Copy link
Member

omajid commented Jan 31, 2025

@jkotas That's already the case. The reporter ran ./build.sh -sb. The -sb stands for source-build.

@SoftStoneDevelop
Copy link
Author

SoftStoneDevelop commented Jan 31, 2025

You need to install brotli dev package, like brotli-dev ?

Indeed, installing libbrotli-dev helped. The error is gone, thanks.
For me the problem is solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Infrastructure-coreclr source-build Issues relating to dotnet/source-build untriaged New issue has not been triaged by the area owner
Projects
Status: No status
Development

No branches or pull requests

3 participants