Morganamilo / paru

Feature packed AUR helper
GNU General Public License v3.0
5.92k stars 226 forks source link

paru AUR 2.0.3-1 fails to build #1179

Open vngzs opened 5 months ago

vngzs commented 5 months ago

Affected Version

2.0.3-1 AUR

Description

This was reported by another user on the AUR page.

Output

$ makepkg -si
==> Making package: paru 2.0.3-1 (Wed 17 Apr 2024 02:48:47 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found paru-2.0.3.tar.gz
==> Validating source files with sha256sums...
    paru-2.0.3.tar.gz ... Passed
==> Extracting sources...
  -> Extracting paru-2.0.3.tar.gz with bsdtar
==> Starting prepare()...
error: failed to select a version for `env_logger`.
    ... required by package `paru v2.0.3 (/home/ndt/Downloads/paru/paru/src/paru-2.0.3)`
versions that meet the requirements `^0.11.3` (locked to 0.11.3) are: 0.11.3

the package `paru` depends on `env_logger`, with features: `anstream` but `env_logger` does not have these features.
 It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.

failed to select a version for `env_logger` which could resolve this conflict
==> ERROR: A failure occurred in prepare().
    Aborting...
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

CacheDir = /var/lib/repo/aur

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[core-testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

#[extra-testing]
#Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

#[multilib]
#Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

[aur]
SigLevel = PackageOptional DatabaseOptional
Server = file:///var/lib/repo/aur
BatSmacker84 commented 5 months ago

I ran into a similar issue and fixed it by running:

rustup update

After that, paru built like normal.

vngzs commented 5 months ago

That worked, but I wonder whether it's not still a PKGBUILD bug. Shouldn't the PKGBUILD ensure we have a sufficient Rust version to correctly execute the build instructions?

kyoh86 commented 3 months ago

With cargo 1.70.0, I found same issue.

$ git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
Cloning into 'paru'...
remote: Enumerating objects: 184, done.
remote: Counting objects: 100% (184/184), done.
remote: Compressing objects: 100% (128/128), done.
remote: Total 184 (delta 57), reused 183 (delta 56), pack-reused 0 (from 0)
Receiving objects: 100% (184/184), 57.78 KiB | 206.00 KiB/s, done.
Resolving deltas: 100% (57/57), done.
==> Making package: paru 2.0.3-1 (2024年05月23日 10時20分45秒)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading paru-2.0.3.tar.gz...
  % 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 8049k    0 8049k    0     0  5722k      0 --:--:--  0:00:01 --:--:--  9.8M
==> Validating source files with sha256sums...
    paru-2.0.3.tar.gz ... Passed
==> Extracting sources...
  -> Extracting paru-2.0.3.tar.gz with bsdtar
==> Starting prepare()...
    Updating crates.io index
error: failed to select a version for `env_logger`.
    ... required by package `paru v2.0.3 (/home/kyoh86/paru/src/paru-2.0.3)`
versions that meet the requirements `^0.11.3` (locked to 0.11.3) are: 0.11.3

the package `paru` depends on `env_logger`, with features: `anstream` but `env_logger` does not have these features.
 It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it 
oes not have an implicit feature with that name.

failed to select a version for `env_logger` which could resolve this conflict
==> ERROR: A failure occurred in prepare().
    Aborting...
$ cargo --version                                
cargo 1.70.0 (ec8a8a0ca 2023-04-25)
$ rustup --version                               
rustup 1.27.1 (54dd3d00f 2024-04-24)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.70.0 (90c541806 2023-05-31)`