--- ./python-package/lightgbm/basic.py.origin	2023-10-12 04:00:03.776197235 +0000
+++ ./python-package/lightgbm/basic.py	2023-10-12 04:00:13.105065921 +0000
@@ -9,8 +9,9 @@
 from copy import deepcopy
 from enum import Enum
 from functools import wraps
-from os import SEEK_END, environ
+from os import SEEK_END, environ,path
 from os.path import getsize
+from platform import system
 from pathlib import Path
 from tempfile import NamedTemporaryFile
 from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, Union
@@ -203,6 +204,11 @@
 def _load_lib() -> ctypes.CDLL:
     """Load LightGBM library."""
     lib_path = find_lib_path()
+    if system() == 'AIX':
+        filename = path.basename(lib_path[0])
+        filenametokens = filename.split('.')
+        lib_path[0]  = lib_path[0] + '(' + filenametokens[0] + '.so)'
+
     lib = ctypes.cdll.LoadLibrary(lib_path[0])
     lib.LGBM_GetLastError.restype = ctypes.c_char_p
     callback = ctypes.CFUNCTYPE(None, ctypes.c_char_p)
--- ./python-package/lightgbm/libpath.py.origin	2023-10-12 04:03:09.072745286 +0000
+++ ./python-package/lightgbm/libpath.py	2023-10-12 04:03:19.293641989 +0000
@@ -24,6 +24,8 @@
         dll_path.append(curr_path.parents[1] / 'Release')
         dll_path.append(curr_path.parents[1] / 'windows' / 'x64' / 'DLL')
         dll_path = [p / 'lib_lightgbm.dll' for p in dll_path]
+    elif system() in ('AIX'):
+       dll_path = [p / 'lib_lightgbm.a' for p in dll_path]
     else:
         dll_path = [p / 'lib_lightgbm.so' for p in dll_path]
     lib_path = [str(p) for p in dll_path if p.is_file()]
