Upon upgrading to flutter 3.19.6, builds are always failing. This is irrespective of the deployment method, in relation to WithTheBraid
's pinned comment from 2024-03-28 00:44 (UTC)
.
$ flutter --version
Flutter 3.19.6 • channel • https://github.com/flutter/flutter.git
Framework • revision archlinuxaur (unknown (arch linux aur package)) • 2038-01-19
03:14:08
Engine • revision c4cd48e18646
Tools • Dart 3.3.3 • DevTools 2.31.1
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel , 3.19.6, on Arch Linux 6.8.7-arch1-1, locale en_AU.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2023.2)
[✓] IntelliJ IDEA Community Edition (version 2021.1)
[✓] Connected device (2 available)
[✓] Network resources
• No issues found!
E.g, following is the execution log as captured for a new project on AndroidStudio.
Launching lib/main.dart on Linux in debug mode...
Building Linux application...
Unhandled exception:
Unexpected Kernel Format Version 117 (expected 114)
#0 BinaryBuilder.readComponent.<anonymous closure> (package:kernel/binary/ast_from_binary.dart:692)
#1 Timeline.timeSync (dart:developer/timeline.dart:173)
#2 BinaryBuilder.readComponent (package:kernel/binary/ast_from_binary.dart:679)
#3 _InitializationFromSdkSummary._prepareSummary (package:front_end/src/fasta/incremental_compiler.dart:2503)
#4 _InitializationFromUri.initialize (package:front_end/src/fasta/incremental_compiler.dart:2577)
<asynchronous suspension>
#5 IncrementalCompiler._ensurePlatformAndInitialize (package:front_end/src/fasta/incremental_compiler.dart:1383)
<asynchronous suspension>
#6 IncrementalCompiler.computeDelta.<anonymous closure> (package:front_end/src/fasta/incremental_compiler.dart:270)
<asynchronous suspension>
#7 CompilerContext.clear (package:front_end/src/fasta/compiler_context.dart:139)
<asynchronous suspension>
#8 IncrementalCompiler.compile (package:vm/incremental_compiler.dart:77)
<asynchronous suspension>
#9 FrontendCompiler.compile (package:frontend_server/frontend_server.dart:610)
<asynchronous suspension>
#10 listenAndCompile.<anonymous closure> (package:frontend_server/frontend_server.dart:1303)
<asynchronous suspension>
the Dart compiler exited unexpectedly.
the Dart compiler exited unexpectedly.
the Dart compiler exited unexpectedly.
Pinned Comments
WithTheBraid commented on 2024-03-28 00:44 (UTC) (edited on 2024-04-16 08:22 (UTC) by WithTheBraid)
Note to the lovers of AUR helpers : It looks like dependency resolution is a complex topic. Despite all package relations being properly declared in the Flutter packages, most AUR helpers seem to have trouble resolving the dependency chain between the package bases
aur/flutter
andaur/flutter-artifacts-google-bin
. This is not my fault and I cannot do anything about it.It looks like the initial installation works fine using
aur/paru
. Sadlyaur/paru
does not reach at building updates for the package.On the other hand
aur/yay
properly reaches at both installing and updating this package, even though it builds the package 15 times (!!!) again and again.If you use
aur/paru
, consider to simply executepacman -R flutter && pacman -Rns flutter
to clean up the previous installation of both package bases.If you build both package bases using
makepkg -sfC
and later on install all build outputs usingpacman -U
, both the installation and the updates work like a charm.I'm very sorry for the inconvenience, but sadly there's nothing I can do about this.
WithTheBraid commented on 2024-03-25 20:55 (UTC) (edited on 2024-03-26 15:07 (UTC) by WithTheBraid)
Huge update to the Flutter AUR package :
The previous implementation basically did a user installation of Flutter - downloaded the custom Dart SDK, CI artifacts from Chromium CI and had to be kept in user R/W access in order to have the Flutter Cache Manager working.
These times are now over - a clean and (almost) completely rewritten PKGBUILD which now uses clean dependency declarations, system Dart and Gradle and for sure no more user R/W installation directory.
This AUR entry is now a split package. Installing
aur/flutter
will still bundle the entire toolchain you knew from before. The other way round, if you don't need everything - e.g. when depending on Flutter as a build dependency in another package, you can choose to only depend on what you need.The following split packages are available :
flutter
: meta package containing all other split packagesflutter-common
: the common files for Flutter needed for all use casesflutter-devel
: your option of choice as a developer - ships the Flutter tool and all required templates to e.g. create a new projectflutter-tool
: The pure Flutter tool. Use asdepends
to build your package.flutter-target-linux
: The Flutter Linux build files. Use asdepends
to build your package.flutter-target-web
: The Flutter web build files. Use asdepends
to build web apps (e.g.fluffychat-web
does this).flutter-target-android
: The Flutter Android build files. Use if you want to develop Android apps.flutter-gradle
: The Flutter Gradle wrapper. Populated from system Gradle.flutter-intellij-patch
: a tiny patch to make the IntelliJ Flutter plugin work with the new package.flutter-material-fonts-google-bin
: Mandatory fonts package, planned to have a system-installed drop-in replacement soon.flutter-engine-common-google-bin
: Shared part of the Flutter engine - downloaded from Google servers.flutter-sky-engine-google-bin
: Flutter sky engine - downloaded from Google servers.flutter-engine-linux-google-bin
: Linux part of the Flutter engine - downloaded from Google servers.flutter-engine-web-google-bin
: Web part of the Flutter engine - downloaded from Google servers.flutter-engine-android-google-bin
: Android part of the Flutter engine - downloaded from Google servers.flutter-gradle-google-bin
: The Flutter Gradle wrapper - downloaded from Google servers.Stay tuned for non google-bin versions of the engine, they are in coming !
Since almost everything is written from scratch and heavy patches are applied to use the system packages as dependencies, there might still be bugs occurring. Please report them otherwise I can't fix them !