IBM Support

Resolving Symbol resolution failed for /usr/lib/threads/libc.a [aio_64.o]

Troubleshooting


Problem

How to resolve the error "Symbol resolution failed for /usr/lib/threads/libc.a[aio_64.o]" while running onstat or other Informix utilitiy commands on AIX.

Resolving The Problem

PROBLEM

While running onstat command on AIX server you receive the error:

Could not load program onstat:
Symbol resolution failed for /usr/lib/threads/libc.a[aio_64.o] because:
Symbol kaio_rdwr64 (number 0) is not exported from dependent module /unix.
Symbol listio64 (number 1) is not exported from dependent module /unix.
Symbol acancel64 (number 2) is not exported from dependent module /unix.
Symbol iosuspend64 (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_64.o) could not be loaded.
System error: Exec format error
Examine .loader section symbols with the 'dump -Tv' command.

These errors may also occur for other IBM Informix utilities like oninit, onmonitor, and oncheck.


SCOPE

The following products and operating systems are affected:

Product Name
Product Version(s)
Hardware Vendor
Operating System
IBM Informix® Dynamic Server™
  • 7.x
  • 8.x
  • 9.x
  • 10.x
  • IBM
    AIX 4.3.3
    AIX 5.1
    AIX 5.2


    CAUSE

    Your operating system does not have the AIO configured or enabled.


    SOLUTION

    Note: The following commands must be run as user root.

    1. Determine the state of the aio0 driver. Run the following AIX command:
      lsdev -C -l aio0
      Example output:
        aio0 Defined Asynchronous I/O

    "Defined" indicates that the aio0 driver is installed on the system, but not available for applications to use. If the driver is not available for applications, change the state of the aio0 driver from "Defined" to "Available",


    2. Run the cfgmgr AIX command:
      cfgmgr -l aio0


    3. To make the "Available" state permanent (across system reboots), issue the chdev AIX command.
    No system reboot is needed for these changes to take effect.
      chdev -l aio0 -P -a autoconfig='available'

      Example output:
        aio0 changed


    4. Run the following command to check the state of the aio0 driver:
      lsdev -C -l aio0


      Example output:
        aio0 Available Asynchronous I/O

    [{"Product":{"code":"SSGU8G","label":"Informix Servers"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"}],"Version":"10.0;7.3;9.3;9.4","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Product":{"code":"SSGU5D","label":"Informix Extended Parallel Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":" ","Platform":[{"code":"PF002","label":"AIX"}],"Version":"8.3;8.4;8.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

    Document Information

    Modified date:
    30 January 2020

    UID

    swg21253974