Error: Symbol resolution failed for /usr/lib/libc.a(aio.o)

Document ID : KB000003920
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

The following error is received when starting (bundled) Sybase on AIX.

Could not load program /apps/autotree45/sadb/ASE-12_0/bin/dataserver:
Symbol resolution failed for /usr/lib/libc.a(aio.o) because:
        Symbol kaio_rdwr (number 0) is not exported from dependent
          module /unix.
        Symbol listio (number 1) is not exported from dependent
          module /unix.
        Symbol acancel (number 2) is not exported from dependent
          module /unix.
        Symbol iosuspend (number 3) is not exported from dependent
          module /unix.
        Symbol aio_nwait (number 4) is not exported from dependent
          module /unix.
        Dependent module libc.a(aio.o) could not be loaded.
System error: Exec format error
Examine .loader section symbols with the 'dump -Tv' command.
Resolution:

To resolve this problem:

Sybase requires that the drivers for Asynchronous IO (AIO) be loaded on the AIX system where the Sybase server is used.

The error can be seen when AIO was not enabled on the AIX system.

Enable AIO on AIX operating system.

As root:

  1. From "smitty aio"
  2. Change / Show Characteristics of Asynchronous I/O
  3. STATE to be configured at system restart
  4. Choose "available"

Or issue the following command as root:
/usr/sbin/mkdev -l aio0

This change does not require a reboot.

Consult AIX documentation for further details on enabling AIO.

See Also: TEC496252