Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 831308

Summary: net-fs/openafs-1.8.8.1-r1 fails to compile: osi_file.c:135:27: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: CONFIRMED ---    
Severity: normal CC: bircoph
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 880545    
Attachments: build.log.xz

Description Agostino Sarubbo gentoo-dev 2022-01-16 13:57:57 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: net-fs/openafs-1.8.8.1-r1 fails to compile.
Discovered on: amd64 (internal ref: tinderbox)

NOTE:
This machine uses CLANG as a compiler and LLD as a linker
Comment 1 Agostino Sarubbo gentoo-dev 2022-01-16 13:58:00 UTC
Created attachment 762335 [details]
build.log.xz

build log and emerge --info (compressed because it exceeds attachment limit, use 'xzless' to read it)
Comment 2 Cheyenne Wills 2022-01-19 00:19:52 UTC
From an upstream view, this is going to take a little more effort to fix.  Some of the autoconf tests are also broken with clang and building the kernel module (there is an unintentional reliance on a GCC enhancement -- nested functions).  But I might have a set of patches that will fix this.
Comment 3 Cheyenne Wills 2022-02-23 15:49:07 UTC
I've submitted a series of patches to upstream openafs that clean up some of the problems building the kernel module with clang. The patches are still in upstream review and have not yet received any feedback. Building the kernel module with clang has not been tested beyond just performing the build.

If you look at the openafs gerrit: https://gerrit.openafs.org/#/c/14903/ you will find the 4 commits.

Missing from the above list are the modifications to the makefiles to use CC= and LD= when building the kernel module (or running the kernel related autoconf tests).  Adding in this breaks certain existing build configurations and will require some additional thought and upstream discussion.
Comment 4 Cheyenne Wills 2022-08-04 20:23:03 UTC
Just a quick comment on the upstream status of the commits mentioned


cf: Use -Werror when checking for -Wno-* flags
    https://gerrit.openafs.org/#/c/15054 has been merged into openafs-stable-1_8_x

cf: Avoid nested C functions built by autoconf  
    https://gerrit.openafs.org/#/c/14901 has been merged into master

afs: Use literal NULL for NULL function pointer 
    https://gerrit.openafs.org/#/c/14902 has been merged into master

LINUX: Use bitwise & for f_flags test
    https://gerrit.openafs.org/#/c/14903 is still in review for master.

I believe that the 3 commits that are not in openafs-stable-1_8_x will cleanly fit into openafs-stable-1_8_x

The last change, 14903, as mentioned is still in review, but I believe that all items brought up in review have been addressed, so I don't think there will be any additional changes commit.
Comment 5 Cheyenne Wills 2022-12-31 17:04:06 UTC
The above 3 patches have been merged into openafs 1.8.9