Subject: bug#23055: wget within guix fails to resolve FQDNs when used as an input (native or otherwise)

From: Dennis Mungai <[email-masked]>
Date: Fri, 18 Mar 2016 21:23:24 +0300

Hello David,

Thanks for the clarification.

Seems Arrayfire will need several modify-phases statements to clean up the
current build system and in addition, port Boost.Compute to GNU Guix as an
input.

Will do, and provide feedback on the same.

Thanks and regards,

Dennis Mungai.

On 18 March 2016 at 21:15, Thompson, David <[email-masked]> wrote:

> On Fri, Mar 18, 2016 at 2:04 PM, Dennis Mungai <[email-masked]> wrote:
>
> > As you can see in the first part, fetching BoostCompute fails because the
> > specified MD5 hash fails, and as a result, the build system falls back to
> > fetching the same with wget (see second snippet).
> >
> > The second part fails because wget fails to resolve the FQDN entry
> > github.com.
> >
> > However, when invoking wget directly, both the local instalation and the
> > Guix installation, the FQDN can be resolved correctly and the associated
> > file fetched successfully:
> >
> > /gnu/store/w50mfvfzyjzpcbyw3lll7hm4j457jhb0-wget-1.17.1/bin/wget
> > https://github.com/boostorg/compute/archive/v0.5.tar.gz
> >
> > Would this qualify as a bug filed against wget in Guix, or does the
> problem
> > lie elsewhere?
>
> In Guix, builds are performed in an isolated container where there is
> *no* external network access.  It must be this way because otherwise
> builds would be non-deterministic. The only exception is for "fixed
> output derivations", whose checksum is known in advance, which
> wouldn't be the case here.  So, the problem lies with Arrayfire's
> build system.  A build system really shouldn't download from the net.
> It should use what the system has provided for it.  In my experience,
> build systems that try to download from the net usually try to find
> something to use locally first.  Without knowing anything beyond the
> log you've shown me, I would guess that you need to package
> BoostCompute first and provide that as an input to Arrayfire.
> Hopefully then it won't try to download it.
>
> Hope this helps!
>
> - Dave
>