AIO.H typically exists /usr/include/aio.h - but this does not mean the AIX has the kernel support or the thin wrapper to support AIO. But including aio.h on AIX system causes the loader to look for nonexistant AIO support. To solve this, I patched my 3.0.20b configure on a 3.0.20b around line 6120 to do the following if test "$with_aio_support" = "yes"; then echo "Including aio.h header check" HEADERS_TO_CHECK="aio.h arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h rpc/nettype.h" else echo "NOT including aio.h header check" HEADERS_TO_CHECK="arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h rpc/nettype.h" fi for ac_header in $HEADERS_TO_CHECK; do ...
Created attachment 1655 [details] fix for aio.h AIX lib dependency AIX supports two aio libs. legacy aio and posix aio. all the calls are through the same lib names. IBM creates functions in aio.h that wrap the posix calls. simply not loading the aio.h fixes the problem as demonstated below: [acedev:/tmp] # cat aio.c #include <stdio.h> #include <aio.h> int main () { printf("hi\n"); } [acedev:/tmp] # gcc -o aio aio.c [acedev:/tmp] # ldd ./aio ./aio needs: /usr/lib/libc.a(shr.o) /usr/lib/libc.a(posix_aio.o) /unix /usr/lib/libcrypt.a(shr.o) [acedev:/tmp] #
*** Bug 3048 has been marked as a duplicate of this bug. ***
applying to trunk and SAMBA_3_0. Thanks Bill.