簡體   English   中英

在AIX 5.3上安裝python模塊加密

[英]Install of python module cryptography on AIX 5.3

這是我在嘗試安裝cryptography-0.8.2時收到的錯誤:

# ksh ./install.ksh
"_configtest.c", line 1.1: 1506-731 (S) The '__thread' keyword is not supported on the target platform.  The keyword is ignored.
Note: will not use '__thread' in the C code
The above error message can be safely ignored
"/usr/include/alloca.h", line 34.1: 1506-224 (I) Incorrect pragma ignored.
"c/_cffi_backend.c", line 5665.15: 1506-068 (W) Operation between types "void*" and "char(*)(char,char)" is not allowed.
"c/_cffi_backend.c", line 5666.15: 1506-068 (W) Operation between types "void*" and "long(*)(int,long)" is not allowed.
"c/_cffi_backend.c", line 5667.15: 1506-068 (W) Operation between types "void*" and "long long(*)(long long,long long)" is not allowed.
"c/_cffi_backend.c", line 5668.15: 1506-068 (W) Operation between types "void*" and "double(*)(float,double)" is not allowed.
"c/_cffi_backend.c", line 5669.15: 1506-068 (W) Operation between types "void*" and "float(*)(float,double)" is not allowed.
"c/_cffi_backend.c", line 5670.15: 1506-068 (W) Operation between types "void*" and "void(*)(void)" is not allowed.
"c/_cffi_backend.c", line 5671.15: 1506-068 (W) Operation between types "void*" and "int*(*)(int*)" is not allowed.
"c/_cffi_backend.c", line 5672.15: 1506-068 (W) Operation between types "void*" and "short(*)(struct _testfunc7_s)" is not allowed.
"c/_cffi_backend.c", line 5674.15: 1506-068 (W) Operation between types "void*" and "int(*)(int,...)" is not allowed.
"c/_cffi_backend.c", line 5675.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc7_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5676.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc11_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5677.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc12_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5678.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc13_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5679.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc14_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5680.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc15_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5681.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc16_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5682.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc17_s(*)(int)" is not allowed.
"c/_cffi_backend.c", line 5683.16: 1506-068 (W) Operation between types "void*" and "int(*)(struct _testfunc17_s*)" is not allowed.
"c/_cffi_backend.c", line 5684.16: 1506-068 (W) Operation between types "void*" and "long double(*)(long double,int)" is not allowed.
"c/_cffi_backend.c", line 5685.16: 1506-068 (W) Operation between types "void*" and "short(*)(struct _testfunc7_s*)" is not allowed.
"c/_cffi_backend.c", line 5686.16: 1506-068 (W) Operation between types "void*" and "int(*)(struct _testfunc21_s)" is not allowed.
"c/_cffi_backend.c", line 5687.16: 1506-068 (W) Operation between types "void*" and "struct _testfunc22_s(*)(struct _testfunc22_s,struct _testfunc22_s)" is not allowed.
"c/_cffi_backend.c", line 5688.16: 1506-068 (W) Operation between types "void*" and "int(*)(char*)" is not allowed.
"c/_cffi_backend.c", line 5906.5: 1506-196 (W) Initialization between types "void*" and "int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5907.5: 1506-196 (W) Initialization between types "void*" and "int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5908.5: 1506-196 (W) Initialization between types "void*" and "int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5909.5: 1506-196 (W) Initialization between types "void*" and "int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5910.5: 1506-196 (W) Initialization between types "void*" and "int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5911.5: 1506-196 (W) Initialization between types "void*" and "unsigned int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5912.5: 1506-196 (W) Initialization between types "void*" and "long long(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5913.5: 1506-196 (W) Initialization between types "void*" and "unsigned long long(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5914.5: 1506-196 (W) Initialization between types "void*" and "int(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5915.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(char*,struct _ctypedescr*)" is not allowed.
"c/_cffi_backend.c", line 5916.5: 1506-196 (W) Initialization between types "void*" and "char*(*)(struct _object*,struct _ctypedescr*)" is not allowed.
"c/_cffi_backend.c", line 5917.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(long*)" is not allowed.
"c/_cffi_backend.c", line 5918.5: 1506-196 (W) Initialization between types "void*" and "void(*)(void)" is not allowed.
"c/_cffi_backend.c", line 5919.5: 1506-196 (W) Initialization between types "void*" and "void(*)(void)" is not allowed.
"c/_cffi_backend.c", line 5920.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(char)" is not allowed.
"c/_cffi_backend.c", line 5921.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(char*,struct _ctypedescr*)" is not allowed.
"c/_cffi_backend.c", line 5922.5: 1506-196 (W) Initialization between types "void*" and "int(*)(char*,struct _ctypedescr*,struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5923.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(char*,struct _ctypedescr*)" is not allowed.
"c/_cffi_backend.c", line 5925.5: 1506-196 (W) Initialization between types "void*" and "unsigned short(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5926.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(unsigned short)" is not allowed.
"c/_cffi_backend.c", line 5931.5: 1506-196 (W) Initialization between types "void*" and "long double(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5932.5: 1506-196 (W) Initialization between types "void*" and "_Bool(*)(struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5933.5: 1506-196 (W) Initialization between types "void*" and "long(*)(struct _ctypedescr*,struct _object*,char**)" is not allowed.
"c/_cffi_backend.c", line 5934.5: 1506-196 (W) Initialization between types "void*" and "int(*)(char*,struct _ctypedescr*,struct _object*)" is not allowed.
"c/_cffi_backend.c", line 5935.5: 1506-196 (W) Initialization between types "void*" and "struct _object*(*)(char*,const struct _cffi_type_context_s*)" is not allowed.
unable to execute ./Modules/ld_so_aix: No such file or directory
Traceback (most recent call last):
  File "setup.py", line 342, in <module>
    **keywords_with_side_effects(sys.argv)
  File "/opt/freeware/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "build/bdist.aix-5.3/egg/setuptools/dist.py", line 265, in __init__
  File "build/bdist.aix-5.3/egg/setuptools/dist.py", line 310, in fetch_build_eggs
  File "build/bdist.aix-5.3/egg/pkg_resources/__init__.py", line 824, in resolve
  File "build/bdist.aix-5.3/egg/pkg_resources/__init__.py", line 1069, in best_match
  File "build/bdist.aix-5.3/egg/pkg_resources/__init__.py", line 1081, in obtain
  File "build/bdist.aix-5.3/egg/setuptools/dist.py", line 377, in fetch_build_egg
  File "build/bdist.aix-5.3/egg/setuptools/command/easy_install.py", line 629, in easy_install
  File "build/bdist.aix-5.3/egg/setuptools/command/easy_install.py", line 659, in install_item
  File "build/bdist.aix-5.3/egg/setuptools/command/easy_install.py", line 842, in install_eggs
  File "build/bdist.aix-5.3/egg/setuptools/command/easy_install.py", line 1070, in build_and_install
  File "build/bdist.aix-5.3/egg/setuptools/command/easy_install.py", line 1058, in run_setup
distutils.errors.DistutilsError: Setup script exited with error: command './Modules/ld_so_aix' failed with exit status 1

安裝腳本如下:

function installmodule {
   module=$1
   gtar -xzf ${module}.tar.gz
   cd $module
   python setup.py install --user
   cd ..
}

export LIBPATH=/opt/freeware/lib
export LD_LIBIRARY_PATH=/opt/freeware/lib
BASEDIR=$HOME/mystuff/
export PYTHONUSERBASE=$BASEDIR/python

installmodule cryptography-0.8.2

正在停止構建的錯誤是: unable to execute ./Modules/ld_so_aix: No such file or directory通過更改指向ld_so_aix的代碼或在正確的位置創建軟鏈接,該錯誤已在其他模塊中得到糾正。

我還沒有弄清楚如何將這些解決方案應用於此模塊。

我安裝了這些更改:

警告:這是一個完整的技巧。 有人需要弄清楚為什么這樣做成功,然后進行實際修復。

/opt/freeware/lib/python2.7/config:
# diff ld_so_aix.orig ld_so_aix
89c89
< impfile="./python.exp"
---
> impfile="/opt/freeware/lib/python2.7/config/python.exp"
116a117
>         impfile="/opt/freeware/lib/python2.7/config/python.exp"

注意:impfile的第二個設置是覆蓋它的命令行設置。

/opt/freeware/lib/python2.7:
# diff _sysconfigdata.py.original _sysconfigdata.py
20c20
<  'BLDSHARED': './Modules/ld_so_aix xlc_r -ma -I/opt/freeware/include -DAIX_GENUINE_CPLUSCPLUS -Wl,-brtl -bI:./Modules/python.exp -L/opt/freeware/lib',
---
>  'BLDSHARED': '/opt/freeware/lib/python2.7/config/ld_so_aix xlc_r -ma -I/opt/freeware/include -DAIX_GENUINE_CPLUSCPLUS -Wl,-brtl -bI:./Modules/python.exp -L/opt/freeware/lib',
366c366
<  'LDSHARED': './Modules/ld_so_aix xlc_r -ma -I/opt/freeware/include -DAIX_GENUINE_CPLUSCPLUS -Wl,-brtl -bI:./Modules/python.exp -L/opt/freeware/lib',
---
>  'LDSHARED': '/opt/freeware/lib/python2.7/config/ld_so_aix xlc_r -ma -I/opt/freeware/include -DAIX_GENUINE_CPLUSCPLUS -Wl,-brtl -bI:./Modules/python.exp -L/opt/freeware/lib',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM