guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

rust (build system) deficits


From: Hartmut Goebel
Subject: rust (build system) deficits
Date: Sat, 7 Mar 2020 14:46:14 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

Hi,

I just package "nettle-sys", which are binding for the nettle crypto
library. Builiding these bindings takes quite some time, some native
inputs and - worst of all - some special phases. After building, the
output is empty (beside some license files). Now when building `nettle`,
which depends on `nettle-sys`, I - as expected - get errors, since e.g.
`bindgen` is missing.

While I could work-around this issue for this case, IMO this shows a
much, much deeper and serious problem with rust and the rust
build-system: We can not pre-built packages!

Rust not being able toe pre-build packages is an open issue, see
<https://github.com/rust-lang/cargo/issues/1139>. But this issue also
points out two things:

1. There seems to be some `.rlib` pre-built format. And "This is a Rust
problem even more than a Cargo problem. You can't guarantee that a
pre-built Rust library will work unless it's built with the exact same
SHA of the compiler." OTOH sis means: since we can guarantee the very
same compiler to be used, we could use rust libraries.

2. There is a tool/library DHL <https://github.com/Popog/dhl/>
(Dependency Hijacking Library) which tries to solve this issue. Maybe
this helps.

If anybody is working on a solution: Thanks :-)

Side note: This also is an ecological problem, as each build will
consume more power and CO2 then required. This is esp. true for guix
(and nix), where packages need to be rebuild much more often than on
non-functional distributions.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | address@hidden               |
| www.crazy-compilers.com | compilers which you thought are impossible |




reply via email to

[Prev in Thread] Current Thread [Next in Thread]