wget within guix fails to resolve FQDNs when used as an input (native or otherwise)

DoneSubmitted by Dennis Mungai.
Details
3 participants
  • Dennis Mungai
  • Thompson, David
  • Ludovic Courtès
Owner
unassigned
Severity
normal
D
D
Dennis Mungai wrote on 18 Mar 2016 19:04
(address . bug-guix@gnu.org)
CAKKYfmEr_DPepJKbapk6qGiFuqqBDGp99zsZ5V_xYKBRvcbTXQ@mail.gmail.com
Hello there,
I'm porting Arrayfire to GNU Guix, seehttps://github.com/Brainiarc7/guix-bioinformatics/blob/master/gn/packages/arrayfire.scm
One of the inputs declared is wget, needed as a fall-back when fetchingBoostCompute should the Cmake checksums fail.
See the build log below:
-- Boost version: 1.60.0-- BoostCompute...-- getting https://github.com/boostorg/compute/archive/v0.5.tar.gz-- validating/tmp/nix-build-arrayfire-3.3.1.drv-0/build/third_party/compute-0.5.tar.gzCMake Warning at CMakeModules/build_boost_compute.cmake:47 (MESSAGE): /tmp/nix-build-arrayfire-3.3.1.drv-0/build/third_party/compute-0.5.tar.gz: Invalid check sum d41d8cd98f00b204e9800998ecf8427e. Expected was 69a52598ac539d3b7f6005a3dd2b6f58Call Stack (most recent call first): src/backend/opencl/CMakeLists.txt:91 (INCLUDE)

-- Trying wget https://github.com/boostorg/compute/archive/v0.5.tar.gz--2016-03-18 17:38:55--https://github.com/boostorg/compute/archive/v0.5.tar.gzResolving github.com (github.com)... failed: Name or service not known.wget: unable to resolve host address ‘github.com’CMake Error at CMakeModules/build_boost_compute.cmake:53 (MESSAGE): /tmp/nix-build-arrayfire-3.3.1.drv-0/build/third_party/compute-0.5.tar.gz: Invalid check sum d41d8cd98f00b204e9800998ecf8427e. Expected was 69a52598ac539d3b7f6005a3dd2b6f58Call Stack (most recent call first): src/backend/opencl/CMakeLists.txt:91 (INCLUDE)

-- Configuring incomplete, errors occurred!See also"/tmp/nix-build-arrayfire-3.3.1.drv-0/build/CMakeFiles/CMakeOutput.log".phase `configure' failed after 2.8 secondsbuilder for`/gnu/store/4ik93fkxrjy6acihzz5mzjcjkwc5va38-arrayfire-3.3.1.drv' failedwith exit code 1@ build-failed/gnu/store/4ik93fkxrjy6acihzz5mzjcjkwc5va38-arrayfire-3.3.1.drv - 1 builderfor `/gnu/store/4ik93fkxrjy6acihzz5mzjcjkwc5va38-arrayfire-3.3.1.drv'failed with exit code 1guix build: error: build failed: build of`/gnu/store/4ik93fkxrjy6acihzz5mzjcjkwc5va38-arrayfire-3.3.1.drv' failed
As you can see in the first part, fetching BoostCompute fails because thespecified MD5 hash fails, and as a result, the build system falls back tofetching the same with wget (see second snippet).
The second part fails because wget fails to resolve the FQDN entrygithub.com.
However, when invoking wget directly, both the local instalation and theGuix installation, the FQDN can be resolved correctly and the associatedfile fetched successfully:
/gnu/store/w50mfvfzyjzpcbyw3lll7hm4j457jhb0-wget-1.17.1/bin/wgethttps://github.com/boostorg/compute/archive/v0.5.tar.gz
Would this qualify as a bug filed against wget in Guix, or does the problemlie elsewhere?
Regards,
Dennis.
Attachment: file
T
T
Thompson, David wrote on 18 Mar 2016 19:15
(name . Dennis Mungai)(address . dmngaie@gmail.com)(address . 23055@debbugs.gnu.org)
CAJ=RwfYMnoJ8qZdfWGiLnpzHdsV_HSu-PNwt+E-3HzyBwCcSBg@mail.gmail.com
On Fri, Mar 18, 2016 at 2:04 PM, Dennis Mungai <dmngaie@gmail.com> wrote:
Toggle quote (17 lines)> 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 otherwisebuilds would be non-deterministic. The only exception is for "fixedoutput derivations", whose checksum is known in advance, whichwouldn't be the case here. So, the problem lies with Arrayfire'sbuild 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 findsomething to use locally first. Without knowing anything beyond thelog you've shown me, I would guess that you need to packageBoostCompute first and provide that as an input to Arrayfire.Hopefully then it won't try to download it.
Hope this helps!
- Dave
D
D
Dennis Mungai wrote on 18 Mar 2016 19:23
(name . Thompson, David)(address . dthompson2@worcester.edu)(address . 23055@debbugs.gnu.org)
CAKKYfmGdOhrN4h8BGArAgmgqDZ_--gunYagaf89NZra7yiQNNg@mail.gmail.com
Hello David,
Thanks for the clarification.
Seems Arrayfire will need several modify-phases statements to clean up thecurrent build system and in addition, port Boost.Compute to GNU Guix as aninput.
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:
Toggle quote (37 lines)> 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>
Attachment: file
D
D
Dennis Mungai wrote on 19 Mar 2016 08:36
(name . Thompson, David)(address . dthompson2@worcester.edu)(address . 23055@debbugs.gnu.org)
CAKKYfmH=epsseHWU8NeBy=m78aJ687iVoYgT+pYp-gbnFmDqwA@mail.gmail.com
Update:
All worked out.
I was able to port over the dependencies to guix and fed them as inputs tothe package in question.All builds as expected.
Thanks and regards,
Dennis Mungai.
On 18 March 2016 at 21:23, Dennis Mungai <dmngaie@gmail.com> wrote:
Toggle quote (58 lines)> 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>>>>
Attachment: file
L
L
Ludovic Courtès wrote on 19 Mar 2016 22:03
control message for bug #23055
(address . control@debbugs.gnu.org)
87zitufadr.fsf@gnu.org
tags 23055 notabugclose 23055
?
Your comment

This issue is archived.

To comment on this conversation send email to 23055@debbugs.gnu.org