私はAIXオペレーティングシステムの1つにPython 3.9をインストールして実行しようとしています。
Python 3.9をインストールするためにyumを使用しました。
Current OS Level:
root@our_AIX_host:/opt/freeware/libexec > oslevel -s
7100-05-11-2246
最初は、PATHとLIBPATHに加えて修正しなければならなかったいくつかの未解決のパスの問題がありました。
root@our_AIX_host:/opt/freeware/libexec > echo $LIBPATH
/usr/lib:/usr/local/lib:/opt/freeware/lib64
root@our_AIX_host:/opt/freeware/libexec > echo $PATH
/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/local/bin:/erac/sysadmin/roster/bin:/usr/local/bin:/etc/emc/bin:/opt/LicenseUseManagement/bin:/opt/freeware/bin
python3を実行しようとすると:
root@our_AIX_host:/opt/freeware/libexec > python3
exec(): 0509-036 Cannot load program python3 because of the following errors:
0509-130 Symbol resolution failed for /usr/lib/libpython3.9.a[libpython3.9.so] because:
0509-136 Symbol _GLOBAL__AIXI_libintl_so (number 284) is not exported from
dependent module /usr/lib/libintl.a[libintl.so.8].
0509-136 Symbol _GLOBAL__AIXD_libintl_so (number 285) is not exported from
dependent module /usr/lib/libintl.a[libintl.so.8].
0509-026 System error: Error 0
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
dnfがyumの後継であることを知り、「dnf_aixtoolbox.sh」を使用してdnfをインストールしました。 dnfを実行しようとすると、次のような結果になります。
root@our_AIX_host:/opt/freeware/libexec > dnf
exec(): 0509-036 Cannot load program /opt/freeware/libexec/python3.9_32 because of the following errors:
0509-130 Symbol resolution failed for /usr/lib/libpython3.9.a(libpython3.9.so) because:
0509-136 Symbol _GLOBAL__AIXI_libintl_so (number 281) is not exported from
dependent module /usr/opt/rpm/lib/libintl.a(libintl.so.8).
0509-136 Symbol _GLOBAL__AIXD_libintl_so (number 282) is not exported from
dependent module /usr/opt/rpm/lib/libintl.a(libintl.so.8).
0509-026 System error: Error 0
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
以下のコードを実行しましたが、正直なところ、ここで出力の問題を解決する方法を理解していません。私は "libintl.so.8"が上記の2つの出力間の共通点であることを知っていますが、それが私に何を言うのか正確にはわかりません。
root@our_AIX_host:/opt/freeware/libexec > dump -Tv -X32_64 python3
合計1700行があるので、上記のコマンド出力の最後の10行を含めました。必要に応じてより多くの情報を提供できます。
[1670] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) _Py_Sigset_Converter
[1671] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) _PyErr_CheckSignals
[1672] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) PyErr_SetInterrupt
[1673] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) PyOS_InitInterrupts
[1674] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) PyOS_InterruptOccurred
[1675] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) _PyOS_IsMainThread
[1676] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) PyTraceMalloc_Track
[1677] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) PyTraceMalloc_Untrack
[1678] 0x00000000 undef ImpExp DS EXTref libpython3.9.a(libpython3.9.so) _PyTraceMalloc_GetTraceback
[1679] 0x00000000 undef IMP DS EXTref libintl.a(libintl.so.8) _GLOBAL__AIXI_libintl_so
[1680] 0x00000000 undef IMP DS EXTref libintl.a(libintl.so.8) _GLOBAL__AIXD_libintl_so
[1681] 0x20000ff8 .data ENTpt DS SECdef [noIMid] __start
助けてくれてありがとう。
答え1
現在削除されているコメントからロリンチ・ジグムント:
LIBPATHを並べ替えることができます。
/usr/local/lib:/opt/freeware/lib64:/usr/lib