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 <dthompson2@worcester.edu> wrote:
On Fri, Mar 18, 2016 at 2:04 PM, Dennis Mungai <dmngaie@gmail.com> 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