Thank you for the quick response.  Using export CC="gcc -std=c99" before
rpmbuild --rebuild resolved this issue, however, not I get the following
errors:

osi_vnodeops.c: In function ‘afs_linux_dentry_revalidate’:
osi_vnodeops.c:1636:10: error: ‘nd’ undeclared (first use in this
function); did you mean ‘fd’?
1636 |     if ((nd->flags & LOOKUP_RCU) != 0) {
     |          ^~
     |          fd
osi_vnodeops.c:1636:10: note: each undeclared identifier is reported only
once for each function it appears in
osi_vnodeops.c: At top level:
osi_vnodeops.c:1727:25: error: initialization of ‘int (*)(struct inode *,
const struct qstr *, struct dentry *, unsigne
d int)’ from incompatible pointer type ‘int (*)(struct dentry *, int)’
[-Wincompatible-pointer-types]
1727 |   .d_revalidate =       afs_linux_dentry_revalidate,
     |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
osi_vnodeops.c:1727:25: note: (near initialization for
‘afs_dentry_operations.d_revalidate’)
osi_vnodeops.c:1623:1: note: ‘afs_linux_dentry_revalidate’ declared here
1623 | afs_linux_dentry_revalidate(struct dentry *dp, int flags)
     | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 CC [M]  Kpagcb.xdr.o
make[6]: ***
[/usr/src/kernels/6.14.2-300.fc42.x86_64/scripts/Makefile.build:207:
osi_vnodeops.o] Error 1
make[6]: *** Waiting for unfinished jobs....


**********************************************
Eric Matlis
Associate Research Professor
114 Hessert Laboratory
Aerospace and Mechanical Engineering
University of Notre Dame
Notre Dame, IN
574-631-6054


On Fri, Apr 18, 2025 at 7:18 PM Cheyenne Wills <cwi...@sinenomine.net>
wrote:

> iomgr.c is not dependent on the Linux kernel (iomgr.c is used for
> some of the openafs servers and it's not used within the kernel
> module).
>
> The error message is related to the C compiler and the -std=c23 option.
>
> It appears that fedora 42 is setting the default compiler standard to
> -std=gnu23, which in a superset of C23.
>
> To build under fedora 42, you will need to use a CFLAG of -std=gnu17 or
> -std=c99.
>
> The coding standard that is used within OpenAFS is C89 plus a few
> extensions (or as the coding style doc states "C99 minus a few
> features).
>
> --
> Cheyenne Wills
> cwi...@sinenomine.net
>
>
>
> On Fri, 18 Apr 2025 11:43:15 -0400
> Eric Matlis <emat...@nd.edu> wrote:
> > Dear developers-
> >
> > patches https://gerrit.openafs.org/#/c/16277/ and
> > https://gerrit.openafs.org/#/c/16276/1 fail to fix openafs-1.8.13.2
> > for compilation under Fedora 42 and kernel 6.14.2-300.  The error I
> > get using rpmbuild is:
> >
> > iomgr.c:50:23: error: ‘bool’ cannot be defined via ‘typedef’
> >   50 | typedef unsigned char bool;
> >      |                       ^~~~
> > iomgr.c:50:23: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
> > iomgr.c:50:1: warning: useless type name in empty declaration
> >   50 | typedef unsigned char bool;
> >
> > This was after applying the patches manually with "patch -p1 <
> > patchfile" to the source code extracted from the bunzip2 tar file,
> > recreating the tar file, executing the procedure to turn tar files
> > into a src rpm, and issuing "rpmbuild --rebuild xxx.src.rpm".
> >
> > Let me know if I can provide any other information.
> >
> > Thank you and please advise,
> > Eric
> >
> > **********************************************
> > Eric Matlis
> > Associate Research Professor
> > 114 Hessert Laboratory
> > Aerospace and Mechanical Engineering
> > University of Notre Dame
> > Notre Dame, IN
> > 574-631-6054
>
>

Reply via email to