unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* rust (build system) deficits
@ 2020-03-07 13:46 Hartmut Goebel
  2020-03-07 18:41 ` John Soo
  0 siblings, 1 reply; 11+ messages in thread
From: Hartmut Goebel @ 2020-03-07 13:46 UTC (permalink / raw)
  To: Guix-devel

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          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-03-11 17:56 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-07 13:46 rust (build system) deficits Hartmut Goebel
2020-03-07 18:41 ` John Soo
2020-03-08 17:16   ` Hartmut Goebel
2020-03-08 20:10     ` John Soo
2020-03-08 20:20       ` John Soo
2020-03-09  9:26       ` Hartmut Goebel
2020-03-09 11:17         ` Efraim Flashner
2020-03-09 14:00         ` John Soo
2020-03-09 14:50           ` Hartmut Goebel
2020-03-09 17:48             ` John Soo
2020-03-11 17:55               ` Hartmut Goebel

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).