--- Begin Message ---
Subject: |
[core-updates-frozen] kmod-29 build fails, cross-compiled for i586-pc-gnu |
Date: |
Fri, 10 Dec 2021 07:55:34 -0500 |
Hello Guix!
I haven't been able to deploy core-updates-frozen on one of my machine,
because it has the childhurd service which needs kmod-29 which fails
building, like so:
--8<---------------cut here---------------start------------->8---
config.status: executing libtool commands
kmod 29
=======
prefix:
/gnu/store/nw7xs4vv55i2w0yhpb2adq0fghzs7dcw-kmod-29
sysconfdir: ${prefix}/etc
libdir: ${exec_prefix}/lib
rootlibdir: ${exec_prefix}/lib
includedir: ${prefix}/include
bindir: ${exec_prefix}/bin
Bash completions dir: ${datarootdir}/bash-completion/completions
compiler: i586-pc-gnu-gcc
cflags: -pipe -DANOTHER_BRICK_IN_THE -Wall -W -Wextra
-Wno-inline -Wvla -Wundef -Wformat=2 -Wlogical-op -Wsign-compare
-Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn
-Wshadow -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Wno-long-long
-Wno-overlength-strings -Wno-unused-parameter -Wno-missing-field-initializers
-Wno-unused-result -Wnested-externs -Wchar-subscripts -Wtype-limits
-Wuninitialized -fno-common -fdiagnostics-show-option -fvisibility=hidden
-ffunction-sections -fdata-sections -g -O2
ldflags: -Wl,--as-needed -Wl,--no-undefined
-Wl,--gc-sections
experimental features: no
tools: yes
python bindings: no
logging: yes
compression: zstd=yes xz=yes zlib=yes
debug: no
coverage: no
doc:
man: yes
test-modules: no
features: +ZSTD +XZ +ZLIB -LIBCRYPTO -EXPERIMENTAL
phase `configure' succeeded after 3.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
Makefile:2516: warning: overriding recipe for target '.log'
Makefile:2509: warning: ignoring old recipe for target '.log'
Makefile:2530: warning: overriding recipe for target '.log'
Makefile:2516: warning: ignoring old recipe for target '.log'
make --no-print-directory all-recursive
Makefile:2516: warning: overriding recipe for target '.log'
Makefile:2509: warning: ignoring old recipe for target '.log'
Makefile:2530: warning: overriding recipe for target '.log'
Makefile:2516: warning: ignoring old recipe for target '.log'
Making all in .
Makefile:2516: warning: overriding recipe for target '.log'
Makefile:2509: warning: ignoring old recipe for target '.log'
Makefile:2530: warning: overriding recipe for target '.log'
Makefile:2516: warning: ignoring old recipe for target '.log'
GEN libkmod/libkmod.pc
CC tools/kmod.o
CC tools/lsmod.o
CC tools/rmmod.o
CC tools/insmod.o
CC tools/modinfo.o
CC tools/modprobe.o
CC tools/depmod.o
CC tools/log.o
CC tools/static-nodes.o
CC shared/array.lo
CC shared/hash.lo
CC shared/scratchbuf.lo
CC shared/strbuf.lo
CC shared/util.lo
CC libkmod/libkmod.lo
CC libkmod/libkmod-builtin.lo
CC libkmod/libkmod-list.lo
CC libkmod/libkmod-config.lo
CC libkmod/libkmod-index.lo
CC libkmod/libkmod-module.lo
CC libkmod/libkmod-elf.lo
CC libkmod/libkmod-file.lo
CC libkmod/libkmod-signature.lo
In file included from tools/kmod.c:26:
./shared/util.h:24:56: error: ‘PATH_MAX’ undeclared here (not in a function)
24 | int alias_normalize(const char *alias, char buf[static PATH_MAX],
size_t *len) _must_check_ __attribute__((nonnull(1,2)));
| ^~~~~~~~
In file included from tools/insmod.c:26:
./shared/util.h:24:56: error: ‘PATH_MAX’ undeclared here (not in a function)
24 | int alias_normalize(const char *alias, char buf[static PATH_MAX],
size_t *len) _must_check_ __attribute__((nonnull(1,2)));
| ^~~~~~~~
‘
./shared/util.h:24: confused by earlier errors, bailing out
‘
./shared/util.h:24: confused by earlier errors, bailing out
In file included from tools/modinfo.c:30:
./shared/util.h:24:56: error: ‘PATH_MAX’ undeclared here (not in a function)
24 | int alias_normalize(const char *alias, char buf[static PATH_MAX],
size_t *len) _must_check_ __attribute__((nonnull(1,2)));
| ^~~~~~~~
‘
./shared/util.h:24: confused by earlier errors, bailing out
--8<---------------cut here---------------end--------------->8---
Thanks,
Maxim
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#52411: [core-updates-frozen] kmod-29 build fails, cross-compiled for i586-pc-gnu |
Date: |
Mon, 17 Jan 2022 12:13:24 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello,
Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> Hello,
>
> Em sábado, 18 de dezembro de 2021, às 01:11:48 -03, Maxim Cournoyer
> escreveu:
>> > I think I might have found the issue. The following commit made the
>> > existence/absence 'kmod' input of pciutils depend on %current-
>> > system/%current-target-system:
>> >
>> > https://git.savannah.gnu.org/cgit/guix.git/commit/?id=22ee7209797c023b9
>> > 5e22ced156df62cbff90184
>> >
>> > but it forgot to keep in mind that nix systems != triplets.
>> > Instead of %current-target-system, the 'current-target-nix-system'
>> > from ‘https://issues.guix.gnu.org/49672#3’ needs to be used
>> > (or the hurd-target? procedure).
>>
>> Looking more closely, I don't see an issue with the current conditional
>> seleciting kmod? nix systems != triplets, but in this case, the
>> conditional is seldom dealing with nix systems, it seems. Am I missing
>> something?
>>
>> *** time passes ... reads sources ***
>>
>> Ah! per (guix utils), it seems like %current-system is a nix system,
>> while %current-target-system is a GNU triplet. Confusing!
>
> Guix’s usage of GNU triplets in some places and nix systems in others is a
> footgun. IMHO we should choose one format and use it everywhere we can,
> converting to the other if necessary...
Eh, indeed! I see Maxime has written neat helpers that should mitigate
it to some extent (in guix build utils). Thank you!
The bug at hand should now be fixed in master.
Closing.
Thanks!
Maxim
--- End Message ---