all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Hartmut Goebel <h.goebel@crazy-compilers.com>
To: Guix-devel <guix-devel@gnu.org>
Subject: rust (build system) deficits
Date: Sat, 7 Mar 2020 14:46:14 +0100	[thread overview]
Message-ID: <6d384619-25a9-5699-bda5-5f4bf9380976@crazy-compilers.com> (raw)

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 |

             reply	other threads:[~2020-03-07 13:46 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-07 13:46 Hartmut Goebel [this message]
2020-03-07 18:41 ` rust (build system) deficits 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6d384619-25a9-5699-bda5-5f4bf9380976@crazy-compilers.com \
    --to=h.goebel@crazy-compilers.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.