Re: [built failure] aicdb.h / __udivdi3
From: David Laight
Date: Wed Sep 23 2026 - 08:48:54 EST
On Tue, 22 Sep 2026 12:25:09 -0700
Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> Hi--
>
> On 9/22/26 11:13 AM, Manuel Ebner wrote:
> > Hi,
> >
> > I did some built testing with randconf and got some build errors.
> >
> > First error is:
> >
> >> $ make KCFLAGS=-Werror -j8 > make_output.txt
> >> aicasm_symbol.c:47:10: fatal error: aicdb.h: No such file or directory
> >> 47 | #include "aicdb.h"
> >> | ^~~~~~~~~
> >
> > This could be fixed by installing libdb-devel.
> > But than I got this error with the same configuration:
> >
> >> $ make KCFLAGS=-Werror -j8 > make_output.txt
> >> date
> >> drivers/scsi/aic7xxx/aicasm/aicasm: 880 instructions used
> >> drivers/scsi/aic7xxx/aicasm/aicasm: 25 of 37 register definitions used
> >> /usr/bin/ld.bfd: fs/exfat/super.o: in function `exfat_set_vol_flags.isra.0':
> >> super.c:(.text+0x622): undefined reference to `__udivdi3'
> >> make[2]: *** [scripts/Makefile.vmlinux:72: vmlinux.unstripped] Error 1
> >> make[1]: *** [/home/manuel/skripts/next/Makefile:1390: vmlinux] Error 2
> >> make: *** [Makefile:248: __sub-make] Error 2
> >
> > What can I do about it?
> > Is it me/ my system or the kernel?
>
> For the fs/exfat/ build error:
>
> What is the target (x86_64, i386, arm64, arm, etc.)?
> What is the compiler and its version?
What strange set of build options are being used?
> That error usually means that the target is a 32-bit CPU
> and the code in question is doing an unsupported divide or
> modulus function.
>
> It possibly should be using a kernel macro from <linux/math.h>
> or other headers.
>