Re: breaking modules

From: Julian H. Stacey <jhs_at_berklix.com>
Date: Fri, 29 Apr 2022 21:57:02 UTC
Ed Maste wrote:
> On Thu, 28 Apr 2022 at 11:28, Julian H. Stacey <jhs@berklix.com> wrote:
> >
> > but that's crude. It's nice to be able to build most modules ready
> > in case wanted later, so how about a DUDS env. mechanism like ports/ ?
> 
> I'd rather not add additional complexity to our build infrastructure
> to address a situation that shouldn't exist. Modules should build &
> function on an ongoing basis (and, I believe they generally do). CI
> doesn't report any issues on either stable branch or main at present.

I'm building stable-12 not stable-13. It's broken here. I've seen modules break
for years, I used to suspect modules werent built by default by
build engines as often as main src/, so modules had more time to rot against
changing includes & libs, maybe now build engines might compile
them as often as eg bin/ls/ ? I don't know; But I'm seeing modules breaks.

I just refetched with git this mid Friday afternoon (TZ=+02:00) 12.3-STABLE
& the 2 breaks are still present. See below.

Setting a MODULE_DUDS would save work rather than repetitively retro
patching out the same modules in Makefile after each git pull --ff-only.

I'd happily develop a patch for sys/modules/, but if someone
else prefers to, that might increase the chance of it being commited.
I'd be happy to test or develop a fix for sys/modules/Makefile.

-------
12.3-STABLE /dev/pts/6 jhs 15 lapr/data/release/s2/usr/src/sys/modules/randomrtuna make
cc  -O2 -pipe -fno-common -DRANDOM_LOADABLE  -fno-strict-aliasing -Werror -D_NEL -DKLD_MODULE -nostdinc   -I. -I/data/release/s2/usr/src/sys -I/data/releas2/usr/src/sys/contrib/ck/include -fno-common  -fno-omit-frame-pointer -mno-o-leaf-frame-pointer -fdebug-prefix-map=./machine=/data/release/s2/usr/src/sysd64/include -fdebug-prefix-map=./x86=/data/release/s2/usr/src/sys/x86/include-MD  -MF.depend.randomdev.o -MTrandomdev.o -mcmodel=kernel -mno-red-zone -mnox -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwra-fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypeWmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D_intf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option --unknown-pragmas -Wno-error=tautological-compare -Wno-error=empty-body -Wno-er=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wnrror=shift-negative-value -Wno-address-of-packed-member -Wno-erro!
 r=unused-butt-variable -Wno-format-zero-length  -mno-aes -mno-avx  -std=iso9899:1999 -c /a/release/s2/usr/src/sys/dev/random/randomdev.c -o randomdev.o
/data/release/s2/usr/src/sys/dev/random/randomdev.c:70:13: error: conflictingpes for 'read_random_uio'
static int (read_random_uio)(struct uio *, bool);
            ^
/data/release/s2/usr/src/sys/sys/random.h:73:1: note: previous definition is e
read_random_uio(void *a __unused, u_int b __unused)
^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:96:2: error: use of undeced identifier '_read_random_uio'
        _read_random_uio = (read_random_uio);
        ^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:97:2: error: use of undeced identifier '_read_random'
        _read_random = (read_random);
        ^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:98:2: error: use of undeced identifier '_is_random_seeded'
        _is_random_seeded = (is_random_seeded);
        ^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:160:2: error: conflictingpes for 'read_random_uio'
(read_random_uio)(struct uio *uio, bool nonblock)
 ^
/data/release/s2/usr/src/sys/sys/random.h:73:1: note: previous definition is e
read_random_uio(void *a __unused, u_int b __unused)
^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:261:2: error: redefinitiof 'read_random'
(read_random)(void *random_buf, u_int len)
 ^
/data/release/s2/usr/src/sys/sys/random.h:78:1: note: previous definition is e
read_random(void *a __unused, u_int b __unused)
^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:295:2: error: redefinitiof 'is_random_seeded'
(is_random_seeded)(void)
 ^
/data/release/s2/usr/src/sys/sys/random.h:82:1: note: previous definition is e
is_random_seeded(void)
^
7 errors generated.
*** Error code 1

Stop.
make: stopped in /data/release/s2/usr/src/sys/modules/random_fortuna
-------
12.3-STABLE /dev/pts/6 jhs 21 lapr/data/release/s2/usr/src/sys/modules/random_other make
cc  -O2 -pipe -fno-common -DRANDOM_LOADABLE  -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   -I. -I/data/release/s2/usr/src/sys -I/data/release/s2/usr/src/sys/contrib/ck/include -fno-common  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix-map=./machine=/data/release/s2/usr/src/sys/amd64/include -fdebug-prefix-map=./x86=/data/release/s2/usr/src/sys/x86/include   -MD  -MF.depend.randomdev.o -MTrandomdev.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error=tautological-compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-value -Wn!
 o-address-of-packed-member -Wno-error=unused-but-set-variable -Wno-format-zero-length  -mno-aes -mno-avx  -std=iso9899:1999 -c /data/release/s2/usr/src/sys/dev/random/randomdev.c -o randomdev.o
/data/release/s2/usr/src/sys/dev/random/randomdev.c:70:13: error: conflicting types for 'read_random_uio'
static int (read_random_uio)(struct uio *, bool);
            ^
/data/release/s2/usr/src/sys/sys/random.h:73:1: note: previous definition is here
read_random_uio(void *a __unused, u_int b __unused)
^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:96:2: error: use of undeclared identifier '_read_random_uio'
        _read_random_uio = (read_random_uio);
        ^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:97:2: error: use of undeclared identifier '_read_random'
        _read_random = (read_random);
        ^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:98:2: error: use of undeclared identifier '_is_random_seeded'
        _is_random_seeded = (is_random_seeded);
        ^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:160:2: error: conflicting types for 'read_random_uio'
(read_random_uio)(struct uio *uio, bool nonblock)
 ^
/data/release/s2/usr/src/sys/sys/random.h:73:1: note: previous definition is here
read_random_uio(void *a __unused, u_int b __unused)
^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:261:2: error: redefinition of 'read_random'
(read_random)(void *random_buf, u_int len)
 ^
/data/release/s2/usr/src/sys/sys/random.h:78:1: note: previous definition is here
read_random(void *a __unused, u_int b __unused)
^
/data/release/s2/usr/src/sys/dev/random/randomdev.c:295:2: error: redefinition of 'is_random_seeded'
(is_random_seeded)(void)
 ^
/data/release/s2/usr/src/sys/sys/random.h:82:1: note: previous definition is here
is_random_seeded(void)
^
7 errors generated.
*** Error code 1

Stop.
make: stopped in /data/release/s2/usr/src/sys/modules/random_other
-------

Cheers,
-- 
Julian Stacey  http://berklix.com/jhs/ http://StolenVotes.UK  
Kill / remove Putin: He kills innocents & causes global grain & fuel shortage.