Why do the following packages conflicts with themself:
- flutter
- flutter-gradle
Git Clone URL: | https://aur.archlinux.org/flutter.git (read-only, click to copy) |
---|---|
Package Base: | flutter |
Description: | Flutter SDK component - linux target files |
Upstream URL: | https://flutter.dev |
Keywords: | android fuchsia ios mobile sdk |
Licenses: | custom, BSD, CCPL |
Groups: | flutter |
Submitter: | flipflop97 |
Maintainer: | WithTheBraid |
Last Packager: | WithTheBraid |
Votes: | 138 |
Popularity: | 1.88 |
First Submitted: | 2017-06-05 21:03 (UTC) |
Last Updated: | 2024-10-14 13:51 (UTC) |
Why do the following packages conflicts with themself:
If anyone sees the error,
Unhandled exception:
PathNotFoundException: Cannot open file, path = '/usr/lib/flutter/version' (OS Error: No such file or directory, errno = 2)
I was able to fix this with unset FLUTTER_ROOT
. I previously set it to work with some other tools. Hope this helps someone.
gradle-autowrap has now been upgraded to version 1.1.2
which fixes the incompatibility.
Wait, sorry, I spoke to soon - that was caused by gradle-autowrap assuming that ./gradlew
is an executable if it exists. Uninstalling that package fixes the issue.
(EDIT 2: This is caused by incompatibility with gradle-autowrap, not the fault of the PKGBUILD.)
Build currently fails on a fresh clone (EDIT: This is commit 9980c0c110732f216a450ac22592ab7cb3f175b1
):
$ git clone https://aur.archlinux.org/flutter.git
$ cd flutter/
$ makepkg
==> Making package: flutter 3.24.1-1 (Wed 11 Sep 2024 04:10:47 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading flutter-3.24.1.tar.xz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13.5M 0 13.5M 0 0 5178k 0 --:--:-- 0:00:02 --:--:-- 6771k
-> Found system-dart.patch
-> Found gradle-user-home.patch
-> Found flutter.sh
-> Found version.patch
-> Found no-lock.patch
-> Found no-runtime-download.patch
-> Found doctor.patch
-> Found opt-in-analytics.patch
==> Validating source files with sha256sums...
flutter-3.24.1.tar.xz ... Passed
system-dart.patch ... Passed
gradle-user-home.patch ... Passed
flutter.sh ... Passed
version.patch ... Passed
no-lock.patch ... Passed
no-runtime-download.patch ... Passed
doctor.patch ... Passed
opt-in-analytics.patch ... Passed
==> Extracting sources...
-> Extracting flutter-3.24.1.tar.xz with bsdtar
==> Starting prepare()...
patching file packages/flutter_tools/bin/tool_backend.dart
Hunk #1 succeeded at 69 with fuzz 2.
patching file packages/flutter_tools/bin/tool_backend.sh
patching file packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
Hunk #1 succeeded at 323 (offset -1 lines).
patching file packages/flutter_tools/lib/src/artifacts.dart
Hunk #2 succeeded at 1223 (offset 45 lines).
Hunk #3 succeeded at 1530 (offset 189 lines).
patching file packages/flutter_tools/lib/src/cache.dart
patching file packages/flutter_tools/lib/src/commands/create_base.dart
Hunk #2 succeeded at 394 (offset 1 line).
patching file packages/flutter_tools/lib/src/dart/pub.dart
patching file packages/flutter_tools/lib/src/dart/language_version.dart
patching file packages/flutter_tools/gradle/build.gradle.kts
patching file packages/flutter_tools/lib/src/android/gradle.dart
Hunk #2 succeeded at 363 (offset 1 line).
patching file packages/flutter_tools/lib/src/version.dart
Hunk #5 succeeded at 295 (offset 2 lines).
Hunk #6 succeeded at 379 (offset 2 lines).
Hunk #7 succeeded at 472 (offset 63 lines).
Hunk #8 succeeded at 539 (offset 63 lines).
Hunk #9 succeeded at 547 (offset 63 lines).
Hunk #10 succeeded at 576 (offset 20 lines).
Hunk #11 succeeded at 745 (offset 17 lines).
Hunk #12 succeeded at 769 (offset 17 lines).
Hunk #13 succeeded at 830 (offset 17 lines).
patching file packages/flutter_tools/lib/src/cache.dart
Hunk #1 succeeded at 284 with fuzz 1 (offset 4 lines).
Hunk #2 succeeded at 671 (offset 37 lines).
patching file packages/flutter_tools/lib/src/cache.dart
Hunk #1 succeeded at 954 (offset 28 lines).
Hunk #2 succeeded at 1057 (offset 41 lines).
patching file packages/flutter_tools/lib/src/doctor.dart
Hunk #1 succeeded at 646 (offset 25 lines).
patching file packages/flutter_tools/lib/src/reporting/usage.dart
patching file packages/flutter_tools/lib/src/reporting/first_run.dart
Hunk #1 succeeded at 39 with fuzz 2 (offset 2 lines).
$HOME/tmp/flutter/src/gradlew $HOME/tmp/flutter/src
Using .
/usr/local/bin/gradle: line 49: $HOME/tmp/flutter/src/gradlew: Is a directory
==> ERROR: A failure occurred in prepare().
Aborting...
This entire package is a mess, everything split up like this causes so much trouble with dependencies. I hope Flutter dies because it's really annoying working with any package dependencies from Google.
@bitscoper Yes, it gives me the same error.
==> Making package: flutter 3.24.0-1 (Tue Aug 20 03:04:37 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
-> dart>=3.5.0
==> ERROR: Could not resolve all dependencies.
-> Failed to install layer, rolling up to next layer.error:error making: flutter - exit status 8
Can confirm, @jpala
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
-> dart>=3.5.0
==> ERROR: Could not resolve all dependencies.
-> Failed to install layer, rolling up to next layer.error:error making: flutter - exit status 8
Latest update looks like it might have conflicting dependencies.
Most packages require dart > 3.5 but it looks like flutter-engine-common-google-bin requires dart < 3.5
Pinned Comments
WithTheBraid commented on 2024-03-28 00:44 (UTC) (edited on 2024-05-10 11:44 (UTC) by WithTheBraid)
TL;DR
Upgrade using
aur/yay
might take very long and works inefficiently.Upgrade using
aur/paru
requires the-d
flag.This is not my fault.
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 without additional flags. Please useparu -Syud
(whereas the-d
is the relevant flag) to upgrade 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-05-10 11:45 (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.flutter-dart-google-bin
: The Flutter original Dart SDK - downloaded from Google servers. This is helpful if theextra/dart
package is not available in the right version on your distro or remix.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 !