Morganamilo / paru

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

Can't install paru-bin after dealing with the "libalpm.so.13" error #1165

Closed thalesnunes closed 7 months ago

thalesnunes commented 7 months ago

Affected Version

paru v2.0.3 (paru-bin)

Description

Have you checked previous issues? Yes! #1155 and #1149 After having the "libalpm.so.13" problem (because bedrock was updating the system through pacman) I uninstalled paru with sudo pacman -Rns paru-bin and tried installing it again the same way I always do. I've tried updating base-devel, installing yay to see if it worked (it didn't), and some other solutions posted here... I'm running bedrock linux, so it might have something to do with it, but even with strat -r arch makepkg -si it doesn't work. Any ideas?

Output

❯ sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru-bin.git
cd paru-bin
makepkg -sfi
warning: base-devel-1-1 is up to date -- skipping
 there is nothing to do
Cloning into 'paru-bin'...
remote: Enumerating objects: 152, done.
remote: Counting objects: 100% (152/152), done.
remote: Compressing objects: 100% (105/105), done.
remote: Total 152 (delta 47), reused 152 (delta 47), pack-reused 0 (from 0)
Receiving objects: 100% (152/152), 49.88 KiB | 208.00 KiB/s, done.
Resolving deltas: 100% (47/47), done.
==> Making package: paru-bin 2.0.3-3 (Fri Mar 22 08:56:44 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading paru-v2.0.3-1-x86_64.tar.zst...
  % 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 3441k  100 3441k    0     0  4310k      0 --:--:-- --:--:-- --:--:-- 24.6M
==> Validating source_x86_64 files with sha256sums...
    paru-v2.0.3-1-x86_64.tar.zst ... Passed
==> Extracting sources...
  -> Extracting paru-v2.0.3-1-x86_64.tar.zst with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '7'
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '6'
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '6'
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '6'
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '6'
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '6'
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pacman: invalid option -- '6'
cp: cannot create directory '/home/thales/Apps/paru-bin/pkg/paru-bin/usr/share/': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...
aryklein commented 7 months ago

Try downgrading package pacman (6.1.0-3 => 6.0.2-9) and pacman-contrib (1.10.5-1 => 1.10.4-3)

thalesnunes commented 7 months ago

But then it won't work, because the new paru requires libalpm 14, and only libalpm 13 will be installed...

IvoFelix commented 7 months ago

I'm on vanilla Arch and I have a similar problem in the sense that it started the same way (a system update through pacman) and now I cannot re-install paru after having removed it through pacman. However, I have a different error:

❯ makepkg -si
==> Making package: paru 2.0.3-1 (Sun 24 Mar 2024 23:52:47 WET)
==> 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 (/tmp/makepkg/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...

Should I create a different issue?

YuanYuYuan commented 7 months ago

I'm on vanilla Arch and I have a similar problem in the sense that it started the same way (a system update through pacman) and now I cannot re-install paru after having removed it through pacman. However, I have a different error:

❯ makepkg -si
==> Making package: paru 2.0.3-1 (Sun 24 Mar 2024 23:52:47 WET)
==> 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 (/tmp/makepkg/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...

Should I create a different issue?

I got the same issue and came across this thread. It seemed to build successfully. Maybe you need to upgrade your Rust?

➜ makepkg -si
==> Making package: paru 2.0.3-1 (Mon 25 Mar 2024 11:11:49 AM CST)
==> 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  100 8049k    0     0  3594k      0  0:00:02  0:00:02 --:--:-- 6401k
==> 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()...
==> Starting build()...
   Compiling proc-macro2 v1.0.79
   Compiling unicode-ident v1.0.12
   Compiling libc v0.2.153
   Compiling memchr v2.7.1
   Compiling autocfg v1.1.0
   Compiling cfg-if v1.0.0
   Compiling pkg-config v0.3.30
   Compiling cc v1.0.90
   Compiling siphasher v0.3.11
   Compiling ppv-lite86 v0.2.17
   Compiling once_cell v1.19.0
   Compiling pin-project-lite v0.2.13
   Compiling serde v1.0.197
   Compiling bitflags v2.4.2
   Compiling log v0.4.21
   Compiling futures-core v0.3.30
   Compiling itoa v1.0.10
   Compiling bytes v1.5.0
   Compiling slab v0.4.9
   Compiling vcpkg v0.2.15
   Compiling futures-sink v0.3.30
   Compiling phf_shared v0.10.0
   Compiling futures-channel v0.3.30
   Compiling openssl-sys v0.9.101
   Compiling futures-io v0.3.30
   Compiling pin-utils v0.1.0
   Compiling quote v1.0.35
   Compiling futures-task v0.3.30
   Compiling alpm-sys v3.0.0 (https://github.com/archlinux/alpm.rs?rev=306342#306342ef)
   Compiling syn v2.0.52
   Compiling equivalent v1.0.1
   Compiling hashbrown v0.14.3
   Compiling tracing-core v0.1.32
   Compiling getrandom v0.2.12
   Compiling signal-hook-registry v1.4.1
   Compiling mio v0.8.11
   Compiling num_cpus v1.16.0
   Compiling rand_core v0.6.4
   Compiling socket2 v0.5.6
   Compiling indexmap v2.2.5
   Compiling aho-corasick v1.1.2
   Compiling openssl v0.10.64
   Compiling crossbeam-utils v0.8.19
   Compiling rand_chacha v0.3.1
   Compiling regex-syntax v0.8.2
   Compiling fnv v1.0.7
   Compiling rand v0.8.5
   Compiling adler v1.0.2
   Compiling tinyvec_macros v0.1.1
   Compiling serde_derive v1.0.197
   Compiling tokio-macros v2.2.0
   Compiling futures-macro v0.3.30
   Compiling foreign-types-shared v0.1.1
   Compiling syn v1.0.109
   Compiling smallvec v1.13.1
   Compiling phf_generator v0.10.0
   Compiling foreign-types v0.3.2
   Compiling regex-automata v0.4.6
   Compiling phf_codegen v0.10.0
   Compiling tinyvec v1.6.0
   Compiling miniz_oxide v0.7.2
   Compiling openssl-macros v0.1.1
   Compiling http v0.2.12
   Compiling tracing v0.1.40
   Compiling lock_api v0.4.11
   Compiling crc32fast v1.4.0
   Compiling parking_lot_core v0.9.9
   Compiling new_debug_unreachable v1.0.4
   Compiling httparse v1.8.0
   Compiling native-tls v0.2.11
   Compiling percent-encoding v2.3.1
   Compiling form_urlencoded v1.2.1
   Compiling unicode-normalization v0.1.23
   Compiling tokio v1.36.0
   Compiling phf_shared v0.11.2
   Compiling thiserror v1.0.58
   Compiling try-lock v0.2.5
   Compiling scopeguard v1.2.0
   Compiling openssl-probe v0.1.5
   Compiling unicode-bidi v0.3.15
   Compiling futures-util v0.3.30
   Compiling idna v0.5.0
   Compiling want v0.3.1
   Compiling phf_generator v0.11.2
   Compiling http-body v0.4.6
   Compiling regex v1.10.3
   Compiling tokio-util v0.7.10
   Compiling string_cache_codegen v0.5.2
   Compiling thiserror-impl v1.0.58
   Compiling encoding_rs v0.8.33
   Compiling serde_json v1.0.114
   Compiling ryu v1.0.17
   Compiling lazy_static v1.4.0
   Compiling h2 v0.3.24
   Compiling httpdate v1.0.3
   Compiling temp-dir v0.1.12
   Compiling precomputed-hash v0.1.1
   Compiling tower-service v0.3.2
   Compiling mac v0.1.1
   Compiling gettext-sys v0.21.3
   Compiling markup5ever v0.11.0
   Compiling futf v0.1.5
   Compiling parking_lot v0.12.1
   Compiling flate2 v1.0.28
   Compiling alpm v3.0.4 (https://github.com/archlinux/alpm.rs?rev=306342#306342ef)
   Compiling hyper v0.14.28
   Compiling url v2.5.0
   Compiling tokio-native-tls v0.3.1
   Compiling phf_macros v0.11.2
   Compiling phf v0.10.1
   Compiling unicode-width v0.1.11
   Compiling rustix v0.38.31
   Compiling dtoa v1.0.9
   Compiling async-trait v0.1.77
   Compiling base64 v0.21.7
   Compiling utf-8 v0.7.6
   Compiling either v1.10.0
   Compiling version_check v0.9.4
   Compiling tendril v0.4.3
   Compiling rustls-pemfile v1.0.4
   Compiling ahash v0.8.11
   Compiling dtoa-short v0.3.4
   Compiling hyper-tls v0.5.0
   Compiling async-compression v0.4.6
   Compiling html5ever v0.26.0
   Compiling crossbeam-epoch v0.9.18
   Compiling selectors v0.25.0
   Compiling cssparser-macros v0.6.1
   Compiling backtrace v0.3.69
   Compiling num-traits v0.2.18
   Compiling mime v0.3.17
   Compiling byteorder v1.5.0
   Compiling phf v0.11.2
   Compiling stable_deref_trait v1.2.0
   Compiling tokio-socks v0.5.1
   Compiling gimli v0.28.1
   Compiling utf8parse v0.2.1
   Compiling ipnet v2.9.0
   Compiling linux-raw-sys v0.4.13
   Compiling cfg_aliases v0.1.1
   Compiling sync_wrapper v0.1.2
   Compiling portable-atomic v1.6.0
   Compiling cini v1.0.0
   Compiling nix v0.28.0
   Compiling cssparser v0.31.2
   Compiling pacmanconf v2.1.0
   Compiling addr2line v0.21.0
   Compiling anstyle-parse v0.2.3
   Compiling servo_arc v0.3.0
   Compiling fxhash v0.2.1
   Compiling crossbeam-deque v0.8.5
   Compiling locale_config v0.3.0
   Compiling derive_more v0.99.17
   Compiling crossbeam-queue v0.3.11
   Compiling crossbeam-channel v0.5.12
   Compiling object v0.32.2
   Compiling signal-hook v0.3.17
   Compiling zerocopy v0.7.32
   Compiling rustc-demangle v0.1.23
   Compiling anstyle v1.0.6
   Compiling option-ext v0.2.0
   Compiling anyhow v1.0.81
   Compiling anstyle-query v1.0.2
   Compiling colorchoice v1.0.0
   Compiling winnow v0.6.5
   Compiling anstream v0.6.13
   Compiling dirs-sys v0.4.1
   Compiling crossbeam v0.8.4
   Compiling gettext-rs v0.7.0
   Compiling alpm-utils v3.0.2
   Compiling console v0.15.8
   Compiling getopts v0.2.21
   Compiling string_cache v0.8.7
   Compiling serde_urlencoded v0.7.1
   Compiling serde_spanned v0.6.5
   Compiling toml_datetime v0.6.5
   Compiling quick-xml v0.30.0
   Compiling futures-executor v0.3.30
   Compiling toml_edit v0.22.7
   Compiling reqwest v0.11.26
   Compiling env_filter v0.1.0
   Compiling bstr v1.9.1
   Compiling number_prefix v0.4.0
   Compiling iana-time-zone v0.1.60
   Compiling srcinfo v1.1.0
   Compiling humantime v2.1.0
   Compiling ego-tree v0.6.2
   Compiling fastrand v2.0.1
   Compiling chrono v0.4.35
   Compiling globset v0.4.14
   Compiling toml v0.8.11
   Compiling raur v7.0.0
   Compiling env_logger v0.11.3
   Compiling indicatif v0.17.8
   Compiling tempfile v3.10.1
   Compiling rss v2.0.7
   Compiling futures v0.3.30
   Compiling aur-depends v3.0.0 (https://github.com/Morganamilo/aur-depends?rev=30c2c1#30c2c150)
   Compiling tr v0.1.7
   Compiling aur-fetch v0.11.2
   Compiling dirs v5.0.1
   Compiling terminal_size v0.3.0
   Compiling smart-default v0.7.1
   Compiling ansi_term v0.12.1
   Compiling htmlescape v0.3.1
   Compiling scraper v0.19.0
   Compiling paru v2.0.3 (/home/circle/Repos/paru/src/paru-2.0.3)
    Finished release [optimized] target(s) in 1m 35s
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> WARNING: Package contains reference to $srcdir
usr/bin/paru
==> Creating package "paru"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: paru 2.0.3-1 (Mon 25 Mar 2024 11:13:32 AM CST)
==> Installing package paru with pacman -U...
IvoFelix commented 7 months ago

I got the same issue and came across this thread. It seemed to build successfully. Maybe you need to upgrade your Rust?

Everything is up-to-date through pacman. I am using the rustup package to fulfill paru's cargo dependency, maybe you are using the rust package instead and that is why it works for you?

YuanYuYuan commented 7 months ago

Well, I always use rust with rustup. That's my setting.

 master [?] paru/src/paru-2.0.3
➜ which rustup
/home/circle/.cargo/bin/rustup

  master [?] paru/src/paru-2.0.3
➜ which rustc
/home/circle/.cargo/bin/rustc

  master [?] paru/src/paru-2.0.3
➜ rustup -V
rustup 1.27.0 (bbb9276d2 2024-03-08)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.77.0 (aedd173a2 2024-03-17)`
IvoFelix commented 7 months ago
❯ rustup -V
rustup 1.27.0 (2024-03-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.67.1 (d5a82bbd2 2023-02-07)`

Well, I'm on the same rustup version but rustc itself is older so that is likely the cause of the issue.

I'm on vanilla Arch on the stable repos, are you using the stable repos as well? Or perhaps using the rustup-git package from the AUR?

That would explain why we'd have different versions.

YuanYuYuan commented 7 months ago
❯ rustup -V
rustup 1.27.0 (2024-03-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.67.1 (d5a82bbd2 2023-02-07)`

Well, I'm on the same rustup version but rustc itself is older so that is likely the cause of the issue.

I'm on vanilla Arch on the stable repos, are you using the stable repos as well? Or perhaps using the rustup-git package from the AUR?

That would explain why we'd have different versions.

Then I think I got the clues. Maybe you need to update your rust toolchain since it's too old.

rustup update

Personally speaking (as a Rust developer), I prefer not to rely on the Rust provided by the package manager. It would make your life easier. :smile:

IvoFelix commented 7 months ago

Then I think I got the clues. Maybe you need to update your rust toolchain since it's too old.

rustup update

Personally speaking (as a Rust developer), I prefer not to rely on the Rust provided by the package manager. It would make your life easier. 😄

Aha I see. Is this a common ocurrence? I know nearly nothing of Rust though I'd like to learn when I find the time. So this is a problem with the rustup package maintainers?

EDIT: I can confirm that this command fixed the issue, thanks for the help.

Pacman should have a hook to rustup update, shouldn't it?

YuanYuYuan commented 7 months ago

The policy of Rust toolchain is doing rustup update manually. Unless we specify a toolchain in this project, it won't trigger the update of the Rust toolchain. The MSRV of paru is "1.71.1". So users need to ensure their toolchain is at least 1.71.1.

thalesnunes commented 7 months ago

Okayyyyy, so it turns out it was all my fault LOL... I had the greatest idea to have a user script named "install" in my path before the system-wide one, and that is why it was erroring out when building!

I'm going to close this issue, and leave my gratitude to the maintainers! Thanks everyone!