[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54635] [PATCH 1/5] gnu: gsl: Force bootstrap when cross-compiling t
From: |
Arun Isaac |
Subject: |
[bug#54635] [PATCH 1/5] gnu: gsl: Force bootstrap when cross-compiling to riscv64-linux. |
Date: |
Thu, 31 Mar 2022 12:03:39 +0530 |
>> > ,@(cond
>> > + ((target-riscv64?)
>> > + '((add-after 'unpack 'force-bootstrap
>> > + (lambda _
>> > + ;; gsl ships with an old configure script that does
>> > not
>> > + ;; support riscv64. Regenerate it.
>> > + (delete-file "configure")))))
>> > +
>>
>> WDYT of making this unconditional? Two benefits:
>>
>> * if Guix is ported to another new architecture,
>> then no changes are necessary to the package definition.
>>
>> * 'configure' and 'Makefile.in' are not source code,
>> and more difficult to audit for things like malware than
>> 'configure.ac' and 'Makefile.am'.
>
> This can be with a TODO for core-updates. gsl itself has about 2000
> dependant packages.
I agree. That was my reasoning as well. If we agree that making it
unconditional is the way forward, I can send another patch for
core-updates after this patchset is pushed to master.
> That said, I'm not convinced about unilaterally removing configure
> unless we make it a policy to remove it. Also, I haven't had trouble
> with building gsl on riscv64-linux without this patch.
Without the force-boostrap phase, the configure phase fails during
cross-compilation.
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build --target=riscv64-linux-gnu gsl
[...]
starting phase `configure'
source directory: "/tmp/guix-build-gsl-2.7.drv-0/gsl-2.7" (relative from build:
".")
build directory: "/tmp/guix-build-gsl-2.7.drv-0/gsl-2.7"
configure flags: ("CC_FOR_BUILD=gcc"
"CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"--prefix=/gnu/store/x7ag3i38ykn2l3f6sfn06bn9356kdk0x-gsl-2.7"
"--enable-fast-install" "--build=x86_64-unknown-linux-gnu"
"--host=riscv64-linux-gnu" "--disable-static")
checking for a BSD-compatible install...
/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/bin/install -c
checking whether build environment is sane... yes
checking for riscv64-linux-gnu-strip... riscv64-linux-gnu-strip
checking for a race-free mkdir -p...
/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a sed that does not truncate output...
/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/bin/sed
checking whether make sets $(MAKE)... (cached) no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `riscv64-linux-gnu': machine
`riscv64' not recognized
configure: error:
/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
./config.sub riscv64-linux-gnu failed
error: in phase 'configure': uncaught exception:
%exception #<&invoke-error program:
"/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
arguments: ("./configure" "CC_FOR_BUILD=gcc"
"CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"--prefix=/gnu/store/x7ag3i38ykn2l3f6sfn06bn9356kdk0x-gsl-2.7"
"--enable-fast-install" "--build=x86_64-unknown-linux-gnu"
"--host=riscv64-linux-gnu" "--disable-static") exit-status: 1 term-signal: #f
stop-signal: #f>
phase `configure' failed after 0.3 seconds
command
"/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"./configure" "CC_FOR_BUILD=gcc"
"CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash"
"--prefix=/gnu/store/x7ag3i38ykn2l3f6sfn06bn9356kdk0x-gsl-2.7"
"--enable-fast-install" "--build=x86_64-unknown-linux-gnu"
"--host=riscv64-linux-gnu" "--disable-static" failed with status 1
builder for `/gnu/store/fwjvvklmswc9midrcdg6qir2knvmraif-gsl-2.7.drv' failed
with exit code 1
build of /gnu/store/fwjvvklmswc9midrcdg6qir2knvmraif-gsl-2.7.drv failed
View build log at
'/var/log/guix/drvs/fw/jvvklmswc9midrcdg6qir2knvmraif-gsl-2.7.drv.gz'.
guix build: error: build of
`/gnu/store/fwjvvklmswc9midrcdg6qir2knvmraif-gsl-2.7.drv' failed
--8<---------------cut here---------------end--------------->8---
- [bug#54635] [PATCH 2/5] gnu: htslib: Add bzip2 and xz to inputs., (continued)
- [bug#54635] [PATCH 3/5] gnu: atomic-queue: Run tests correctly., Arun Isaac, 2022/03/30
- [bug#54635] [PATCH 5/5] gnu: Add wfmash., Arun Isaac, 2022/03/30
- [bug#54635] [PATCH 1/5] gnu: gsl: Force bootstrap when cross-compiling to riscv64-linux., Maxime Devos, 2022/03/30
- [bug#54635] [PATCH 1/5] gnu: gsl: Force bootstrap when cross-compiling to riscv64-linux., Maxime Devos, 2022/03/30
- [bug#54635] [PATCH v2 1/5] gnu: gsl: Force bootstrap when cross-compiling to riscv64-linux., Arun Isaac, 2022/03/31
- [bug#54635] [PATCH v2 3/5] gnu: atomic-queue: Run tests correctly., Arun Isaac, 2022/03/31
- [bug#54635] [PATCH v2 4/5] gnu: atomic-queue: Do not look for boost when cross-compiling., Arun Isaac, 2022/03/31
- [bug#54635] [PATCH v2 5/5] gnu: Add wfmash., Arun Isaac, 2022/03/31
- [bug#54635] [PATCH v2 5/5] gnu: Add wfmash., Maxime Devos, 2022/03/31
- [bug#54635] [PATCH v2 5/5] gnu: Add wfmash., Efraim Flashner, 2022/03/31
- [bug#54635] [PATCH v2 5/5] gnu: Add wfmash., Maxime Devos, 2022/03/31
- [bug#54635] [PATCH v2 5/5] gnu: Add wfmash., Efraim Flashner, 2022/03/31