Package Details: rua 0.19.10-2

Git Clone URL: https://aur.archlinux.org/rua.git (read-only, click to copy)
Package Base: rua
Description: AUR helper in Rust providing control, review, patch application and safe build options
Upstream URL: https://github.com/vn971/rua
Keywords: aur rust
Licenses: GPL3
Submitter: vasya
Maintainer: vasya
Last Packager: vasya
Votes: 59
Popularity: 0.30
First Submitted: 2018-10-29 14:26 (UTC)
Last Updated: 2025-02-13 14:43 (UTC)

Dependencies (10)

Required by (0)

Sources (1)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

vasya commented on 2022-04-13 19:48 (UTC)

@yochananmarqos, thanks, you're right, fixed!

yochananmarqos commented on 2022-04-13 19:39 (UTC)

@vasya: That's not what I meant. This package is not architecture independent. The architectures should be specified. See PKGBUILD:arch

vasya commented on 2022-04-13 18:50 (UTC)

@yochananmarqos thanks for testing it! Tricky.. I've added the !lto option to the PKGBUILD.

WRT the architecture: the already built rua package will contain the (ELF) executable, however, if you build it under a different architecture then it'll just have a different ELF. That's pretty much the standard situation for any C package. I know for sure that people use it on arm devices, see some discussions below if curious. (A person actually wrote a PR before to add support for any arch as long as rust, bubblewrap and libseccomp are installable \o/)

yochananmarqos commented on 2022-04-13 17:01 (UTC)

@vasya: With RUSTFLAGS="-C embed-bitcode, it fails to link like I originally reported.

With RUSTFLAGS="-C embed-bitcode -C lto=fat":

   Compiling regex v1.5.5
   Compiling directories v4.0.1
   Compiling libflate v1.2.0
error: cannot prefer dynamic linking when performing LTO

note: only 'staticlib', 'bin', and 'cdylib' outputs are supported with LTO

error: could not compile `proc-macro-error-attr` due to previous error
warning: build failed, waiting for other jobs to finish...

FYI, this is not an 'any' package as it contains an ELF file. The architectures should be specified.

vasya commented on 2022-04-13 16:17 (UTC) (edited on 2022-04-13 16:18 (UTC) by vasya)

@yochananmarqos: could you please try building a Rust package with RUSTFLAGS="-C embed-bitcode" ? 🙏 // I can't reproduce it myself, sorry:(

Or alternatively with lto = "thin" in Cargo.toml in case of rua.

If you don't have time please also just say so. But if you do, a bit of testing would be appreciated

vasya commented on 2022-04-13 16:07 (UTC)

@yochananmarqos (at the moment, rua also uses lto = true, or in other words the lto="fat". But somehow, the setting from PKGBUILD seems to kick in -- for some users.)

yochananmarqos commented on 2022-04-13 15:54 (UTC) (edited on 2022-04-13 15:59 (UTC) by yochananmarqos)

@vasya: Even the Arch packagers are disabling LTO, see the Todo List. It appears it needs to be enabled upstream upstream, see The Cargo Book.

I tried adding RUSTFLAGS="-C lto=fat" to build RUA, but it fails:

error: options `-C embed-bitcode=no` and `-C lto` are incompatible

EDIT: Yes, I'm on x86_64.

vasya commented on 2022-04-13 15:32 (UTC)

@yochananmarqos: by the way, are you on x86_64?

vasya commented on 2022-04-13 15:26 (UTC)

@yochananmarqos: interesting that for me it definitely does build. Do you maybe know what the root cause is / what a general recommendation for fixing it is? I've tried to search through the Rust packages on AUR and some of them indeed just switch off lto, however I couldn't understand why that happens exactly, which issue to link in the comment, what to track even. Do you know? I'll definitely address it somehow, just want to understand how exactly

yochananmarqos commented on 2022-04-13 14:36 (UTC)

@vasya: Like most Rust packages, this fails to build with LTO enabled. Can you add the following?

options=(!lto)