Re: linking afs.ext.64 on AIX fails with missing symbol vprintf

Jeffrey E Altman <[email protected]> Sat, 13 Aug 2022 05:23:44 -0400
Newsgroups gmane.comp.file-systems.openafs.general
Organization AuriStor, Inc.
Message-ID <[email protected]>
On 8/13/2022 1:57 AM, Ben Huntsman ([email protected]) wrote:
> After a few tweaks to some of the source files (which I will submit
> later), I have all the code for afs.ext.64 compiling, but it fails to
> link due to a missing symbol .vprintf.  The AIX man pages show that
> this is included in /lib/libc.a, and nm confirms it.  
>
libc is a userspace library.   The failure is when linking the kernel
module and there is no vprintf in the kernel.


> The reference is from src/rx/rx_kcommon.c:
>
> void
> osi_Msg(const char *fmt, ...)
> {
>     va_list ap;
>     va_start(ap, fmt);
> #if defined(AFS_LINUX_ENV)
>     vprintk(fmt, ap);
> #else
>     vprintf(fmt, ap);
> #endif
>     va_end(ap);
> }
>
>
> Just as another sloppy fix I tried several variants of print functions
> that could substitute on AIX, but they all fail with a missing
> symbol.  How did this work on AIX in the past?
>
The vprintf usage in kernel on AIX was introduced by


  https://gerrit.openafs.org/14791
smime.p7s (application/pkcs7-signature, 3.9 KB) - not displayed