Red Hat Bugzilla – Bug 189527
libaio.h is not friendly to C++ compilers
Last modified: 2007-11-30 17:07:09 EST
Compiler error is as follows:
/usr/include/libaio.h: In function `void io_set_callback(iocb*, void
(*)(io_context*, iocb*, long int, long int))':
/usr/include/libaio.h:142: invalid conversion from `void (*)(io_context*,
iocb*, long int, long int)' to `void*'
Version-Release number of selected component (if applicable):
Created attachment 128310 [details]
Fix libaio.h so it will compile with c++ compilers
I tested the attached patch by installing the modified rpm, and performing a
build of a simple program which utilizes aio. I then downgraded the library
version to taht shipped with RHEL 3 GA (0.3.96-3), and ran the program. I
verified that the program worked as expected.
I believe Sybase is interested in this particular case, since they will be
building their applications against this version of the library, but deploying
on potentially older versions of RHEL.
Created attachment 129602 [details]
simple aio program to test that g++ compiles work
safe file aio-pipe.c
g++ aio-pipe.c -laio -o aio-pipe
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.