-
Notifications
You must be signed in to change notification settings - Fork 736
Add clang and ninja-build to debian/control #4073
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4073 +/- ##
=======================================
Coverage 89.50% 89.50%
=======================================
Files 259 259
Lines 14740 14740
=======================================
Hits 13193 13193
Misses 1547 1547 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't we instead make it honor the compiler that is set for the whole build?
I don't think so. The Flutter engine on Linux is compiled with clang and from what I understand, the GTK integration layer (my_application.cc) and Flutter plugins need to be compiled with the same toolchain as the Flutter engine The Flutter engine's build system is primarily designed to work with Clang/LLVM. This is evident from the engine's DEPS file, which specifies Clang toolchains for various platforms, including Linux. For instance, on Linux x64, the build system expects Clang to be located at src/flutter/buildtools/linux-x64/clang People have tried to build Flutter with GCC to make it work on a raspberry pi, but this isn't supported officially: https://medium.com/flutter/flutter-on-raspberry-pi-mostly-from-scratch-2824c5e7dcb1 |
|
On a fresh 24.04 instance after following the README's instructions, I also had to install ninja with Perhaps now would be a good time to also add |
|
OK, so this is not actually tied to the Ubuntu version, you just happened to verify it on 24.04 and above, correct? CI images have clang by default, so it would work there. And I suppose we all had clang installed so far... |
|
OK I just found it in their documentation:
I hate that it forces things on people like this, but that's Flutter alright. |
|
So yeah, I guess we need to install ninja too. We have the option to disable building the GUI in CMake, so If this ever becomes annoying, we can split this debian/control out into the GUI's folder and add it to the instructions as a separate step. |
Yes, this is tied to Flutter, and I have verified it on both 24.04 and 25.04
I'll add a commit for that to this PR since it's in the scope of adding Flutter dependencies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, I just built this in a clean Jammy environment and it worked fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, worked for me on a fresh 24.04 install.
|
Hey @levkropp, I am afraid this will need a rebase before it can merge. |
441b062 to
de03b09
Compare
|
CLA and docs aren't triggering on merge_groups. Removing them from branch protections for now, but I opened #4081 for later. |
Clang is needed to build the Flutter GUI (tested on Ubuntu 25.04 and 24.04) so it should be included in the debian/control dependencies file. This was noticed by @Sploder12 on a PR to update the tray_menu flutter plugin and reproduced on my end.
This pull request updates the build dependencies for the
multipassproject by addingclangto thedebian/controlfile.Build dependency update:
debian/control: Addedclangto theBuild-Dependslist to ensure it is available during the build process.