Please login or register. October 21, 2017, 03:57:34 PM

Author Topic: Ansible installation with python 2.7.12 fails  (Read 1664 times)

0 Members and 1 Guest are viewing this topic.

megabreit

  • Jr. Member
  • **
  • Posts: 5
  • Karma: +0/-0
Ansible installation with python 2.7.12 fails
« on: March 14, 2017, 03:37:02 PM »
Hi there,

I am trying to get a native ansible running on AIX.
After fighting through the command line options to get through the proxy (set https_proxy env var and add option --trusted-host pypi.python.org )
pip starts to download and install various packages and fails with cffi
Collecting cffi>=1.4.1 (from cryptography>=1.1->paramiko->ansible)
  Downloading cffi-1.9.1.tar.gz (407kB)
    100% |################################| 409kB 10.4MB/s
Requirement already satisfied (use --upgrade to upgrade): pyparsing in /opt/lib/python2.7/site-packages (from packaging->cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): pycparser in /opt/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko->ansible)
Installing collected packages: cffi, cryptography, paramiko, MarkupSafe, jinja2, PyYAML, pycrypto, ansible
  Running setup.py install for cffi ... error
    Complete output from command /opt/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-7YQLNB/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-mLBtVb-record/install-record.txt --single-version-externally-managed --compile:
    "_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
    running install
    running build
    running build_py
    creating build
    creating build/lib.aix-6.1-2.7
    creating build/lib.aix-6.1-2.7/cffi
    copying cffi/__init__.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/api.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/backend_ctypes.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/cffi_opcode.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/commontypes.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/cparser.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/ffiplatform.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/lock.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/model.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/recompiler.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/setuptools_ext.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/vengine_cpy.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/vengine_gen.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/verifier.py -> build/lib.aix-6.1-2.7/cffi
    copying cffi/_cffi_include.h -> build/lib.aix-6.1-2.7/cffi
    copying cffi/parse_c_type.h -> build/lib.aix-6.1-2.7/cffi
    copying cffi/_embedding.h -> build/lib.aix-6.1-2.7/cffi
    running build_ext
    building '_cffi_backend' extension
    creating build/temp.aix-6.1-2.7
    creating build/temp.aix-6.1-2.7/c
    xlc_r -I/opt/include -O3 -qmaxmem=-1 -qarch=pwr5 -q64 -I/opt/buildaix/includes -DNDEBUG -I/usr/include/ffi -I/usr/include/libffi -I/opt/include/python2.7 -c c/_cffi_backend.c -o build/temp.aix-6.1-2.7/c/_cffi_backend.o
    "c/_cffi_backend.c", line 15.10: 1506-296 (S) #include file <ffi.h> not found.
    "c/malloc_closure.h", line 6.10: 1506-296 (S) #include file <ffi.h> not found.
    "c/malloc_closure.h", line 81.5: 1506-046 (S) Syntax error.
...
[ continued with various syntax errors ]
Obviously ffi.h is not in the include path, or does not exist at all.
I'm quite new to Python and pip, so it might be very probable that this is my fault.
But it also might be a packaging issue. My environment: AIX 6.1 TL9, aixtools.python-2.7.12.3, xlc 12.1
Do you have any clue where to look for to get rid of the problem?

<EDIT>
I found aixtools.libffi.3.2.1.0 and installed it. No change.
No include files under /opt/include... it's hidden in /opt/lib/libffi-3.2.1/include... puzzled.

export CFLAGS="-I/opt/lib/libffi-3.2.1/include"
export LDFLAGS="-L/opt/lib" # libiffi is really in /opt/lib

Again:
pip  --trusted-host pypi.python.org install  ansible
The error is different now:

    xlc_r -DNDEBUG -I/opt/lib/libffi-3.2.1/include -I/usr/include/ffi -I/usr/include/libffi -I/opt/include/python2.7 -c c/_cffi_backend.c -o build/temp.aix-6.1-2.7/c/_cffi_backend.o
    "/opt/include/python2.7/pyport.h", line 887.2: 1506-205 (S) #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
    "c/_cffi_backend.c", line 6433.15: 1506-068 (W) Operation between types "void*" and "char(*)(char,char)" is not allowed.
    "c/_cffi_backend.c", line 6434.15: 1506-068 (W) Operation between types "void*" and "long(*)(int,long)" is not allowed.
    "c/_cffi_backend.c", line 6435.15: 1506-068 (W) Operation between types "void*" and "long long(*)(long long,long long)" is not allowed.
    "c/_cffi_backend.c", line 6436.15: 1506-068 (W) Operation between types "void*" and "double(*)(float,double)" is not allowed.
[...more warnings...]

LONG_BIT is defined in the python include files, and it should be 8 * SIZEOF_LONG, which is also defined in the python includes...

LONG_BIT is 32 while pip is running, and probably should be 64.

Best regards,
Mega
« Last Edit: March 14, 2017, 06:16:18 PM by megabreit »

Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #1 on: March 14, 2017, 06:35:19 PM »
Quote
<EDIT>
I found aixtools.libffi.3.2.1.0 and installed it. No change.
No include files under /opt/include... it's hidden in /opt/lib/libffi-3.2.1/include... puzzled.

export CFLAGS="-I/opt/lib/libffi-3.2.1/include"
export LDFLAGS="-L/opt/lib" # libiffi is really in /opt/lib


a) I have to check if this is dual-sized (32 and 64 bit).
b) there is a good chance that ffi put there include files in /usr/local/lib (aka $prefix/lib). Might be an error of mine; might be a bug. I'll look at it.

Quote
LONG_BIT is defined in the python include files, and it should be 8 * SIZEOF_LONG, which is also defined in the python includes...

LONG_BIT is 32 while pip is running, and probably should be 64.

Try setting
export OBJECT_MODE=64

and then running your pip commands again.

Checking on libffi now...

megabreit

  • Jr. Member
  • **
  • Posts: 5
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #2 on: March 14, 2017, 06:48:22 PM »
Setting
export OBJECT_MODE=64
is getting rid of the LONG_BIT problem... but the next one is just around the corner.
python doesn't find the C-compiler.
When I set CC=xlc_r (or xlc) I get syntax errors in system header files /usr/include/unistd.h and /usr/include/sys/lockf.h
A few lines later gmp.h is missing (which is no error yet because I didn't install gmp-devel). But gmp (from Perzl repo) is installed.

Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #3 on: March 14, 2017, 07:00:49 PM »
My good news (for me) is that libffi-3.2.1 is dual sized.

And, I do not know why the files are in the weird locations - but they are getting "installed" in those locations by 'make install'.
Not tonight, but I'll get those settled.

root@x064:[/data/prj/aixtools/libffi/libffi-3.2.1]ar -Xany tv /opt/lib/libffi.a
rwxr-xr-x     0/0      26200 Jan 02 17:16 2017 libffi.so.6
rwxr-xr-x     0/0      21412 Jan 02 17:18 2017 libffi.so.6
root@x064:[/data/prj/aixtools/libffi/libffi-3.2.1]lslpp -f aixtools.libffi.rte
  Fileset               File
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  aixtools.libffi.rte 3.2.1.0
                        /opt/lib/libffi-3.2.1/include/ffi.h
                        /opt/lib/pkgconfig/libffi.pc
                        /opt/lib/libffi-3.2.1/include
                        /opt/lib/pkgconfig
                        /opt/lib/libffi.a
                        /opt/lib
                        /opt/lib/libffi-3.2.1
                        /opt/lib/libffi-3.2.1/include/ffitarget.h

re: using other packages from perzl - no guarantees. He uses gcc I believe - which creates a new set of dependencies around GNU libc and the gcc run-time libraries.

If gmp is needed - I'll need to rebuild that (I have it - as I build gcc as well, just do not use it (anymore)).

FYI: I see that I was working on cffi several months ago, but never finished up. As this is "free time" I cannot promise to have it finished this evening, but I'll work on it as quick as I can. (Have to pick someone up from the train station now).

megabreit

  • Jr. Member
  • **
  • Posts: 5
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #4 on: March 14, 2017, 07:46:41 PM »
I can't remember why gmp is installed. Probably a leftover from gcc install. It was not installed for Python/Ansible.
I'd like to keep Ansible as independent as possible from other packages...
But maybe it's a 'hidden' dependency. I try to remove the rpm tomorrow and retry.

I'm also away from AIX console now, no hurry, have a nice evening!

Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #5 on: March 14, 2017, 10:14:42 PM »
I have aixtools.libffi repackaged - I moved the include directory from /opt/lib/lib*/include to /opt/include - so the .rte fileset now lists as:

root@x064:[/data/prj/aixtools/libffi/libffi-3.2.1]lslpp -f aixtools.libffi.rte
  Fileset               File
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  aixtools.libffi.rte 3.2.1.1
                        /opt/lib/pkgconfig/libffi.pc
                        /opt/include
                        /opt/lib/pkgconfig
                        /opt/include/ffitarget.h
                        /opt/lib/libffi.a
                        /opt/lib
                        /opt/include/ffi.h


Hopefully, this will fix some of the "pip install" issues.

Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #6 on: March 14, 2017, 10:25:59 PM »
a) needed to add "export LDFLAGS="-L/opt/lib"

b) missing symbol - need to find where it is suppossed to be coming from (has a double underscore, so it is something obscure).


/opt/lib/python2.7/config/ld_so_aix xlc_r -bI:/opt/lib/python2.7/config/python.exp -L/opt/lib build/temp.aix-5.3-2.7/c/_cffi_backend.o -lffi -o build/lib.aix-5.3-2.7/_cffi_backend.so
ld: 0711-317 ERROR: Undefined symbol: .__sync_synchronize
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
error: command '/opt/lib/python2.7/config/ld_so_aix' failed with exit status 8
root@x064:[/data/prj/python/cffi/cffi-1.9.1]2.7/config/python.exp -L/opt/lib build/temp.aix-5.3-2.7/c/_cffi_backend.o -lffi -o build/lib.aix-5.3-2.7/_cffi_backend.so<
ld: 0711-317 ERROR: Undefined symbol: .__sync_synchronize
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
root@x064:[/data/prj/python/cffi/cffi-1.9.1]ffi_backend.o -lffi -o build/lib.aix-5.3-2.7/_cffi_backend.so -bnoquiet                                                  <
(ld): setopt 64
(ld): halt 4
(ld): setopt rtl
(ld): setopt nortllib
(ld): setopt symbolic:1
(ld): setfflag 4
(ld): savename build/lib.aix-5.3-2.7/_cffi_backend.so
(ld): filelist 9 3
(ld): setopt noprogram
(ld): entry init_cffi_backend
ENTRY: Entry point set to init_cffi_backend
(ld): i /lib/crt0_64.o
(ld): lib /usr/lib/libm.a
(ld): i build/temp.aix-5.3-2.7/c/_cffi_backend.o
(ld): lib /opt/lib/libffi.a
(ld): lib /usr/vac/lib/libxlopt.a
(ld): lib /usr/vac/lib/libxlipa.a
(ld): lib /usr/vac/lib/libxl.a
(ld): lib /usr/lib/libpthreads.a
(ld): lib /usr/lib/libc.a
LIBRARY: Shared object libffi.a[libffi.so.6]: 38 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_xpg5_64.o]: 332 symbols imported.
LIBRARY: Shared object libc.a[shr_64.o]: 2665 symbols imported.
LIBRARY: Shared object libc.a[posix_aio_64.o]: 20 symbols imported.
LIBRARY: Shared object libc.a[aio_64.o]: 18 symbols imported.
LIBRARY: Shared object libc.a[pse_64.o]: 5 symbols imported.
LIBRARY: Shared object libc.a[dl_64.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty_64.o]: 1 symbols imported.
FILELIST: Number of previously inserted files processed: 9
(ld): imports /opt/lib/python2.7/config/python.exp
IMPORTS: Symbols imported from import file /opt/lib/python2.7/config/python.exp: 1230
(ld): exports _cffi_backend.exp
EXPORTS: Symbols exported: 1
(ld): resolve
RESOLVE: 811 of 9845 symbols were kept.
(ld): addgl /usr/lib/glink64.o
ADDGL: Glink code added for 144 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
        The following symbols are in error:
 Symbol                    Inpndx  TY CL Source-File(Object-File) OR Import-File{Shared-object}
                              RLD: Address  Section  Rld-type Referencing Symbol
 ----------------------------------------------------------------------------------------------
 .__sync_synchronize       [1730]  ER PR c/_cffi_backend.c(build/temp.aix-5.3-2.7/c/_cffi_backend.o)
                                   00015060 .text    R_RBR    [378]   <.cffi_call_python>


So, the first place to look will be in _cffi_backend.c

to be continued.

EDIT:

root@x064:[/data/prj/python/cffi/cffi-1.9.1/c]grep sync *.c
call_python.c:# define read_barrier()  __sync_synchronize()

root@x064:[/data/prj/python/cffi/cffi-1.9.1/c]grep read_barrier *.?
call_python.c:# define read_barrier()  __sync_synchronize()
call_python.c:# define read_barrier()  (void)0
call_python.c:    read_barrier();

in call_python.c:

#if (defined(WITH_THREAD) && !defined(_MSC_VER) &&   \
     !defined(__amd64__) && !defined(__x86_64__) &&   \
     !defined(__i386__) && !defined(__i386))
# define read_barrier()  __sync_synchronize()
#else
# define read_barrier()  (void)0
#endif

and further down the line:

    /* This read barrier is needed for _embedding.h.  It is paired
       with the write_barrier() there.  Without this barrier, we can
       in theory see the following situation: the Python
       initialization code already ran (in another thread), and the
       '_cffi_call_python' function pointer directed execution here;
       but any number of other data could still be seen as
       uninitialized below.  For example, 'externpy' would still
       contain NULLs even though it was correctly set up, or
       'interpreter_lock' (the GIL inside CPython) would still be seen
       as NULL, or 'autoInterpreterState' (used by
       PyGILState_Ensure()) would be NULL or contain bogus fields.
    */
    read_barrier();


So, adding this small change - as I do not have any idea where this sync_synchronize() is supposed to be coming from


#if (defined(WITH_THREAD) && !defined(_MSC_VER) &&   \
     !defined(__amd64__) && !defined(__x86_64__) &&   \
     !defined(__i386__) && !defined(__i386)) && !defined(_AIX)


And then I get:


root@x064:[/data/prj/python/cffi/cffi-1.9.1]python ./setup.py build
"_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
running build
running build_py
running build_ext
building '_cffi_backend' extension
xlc_r -I/opt/include -O3 -qmaxmem=-1 -qarch=pwr5 -q64 -I/opt/buildaix/includes -DNDEBUG -I/usr/include/ffi -I/usr/include/libffi -I/opt/include/python2.7 -c c/_cffi_backend.c -o build/temp.aix-5.3-2.7/c/_cffi_backend.o
"c/_cffi_backend.c", line 6433.15: 1506-068 (W) Operation between types "void*" and "char(*)(char,char)" is not allowed.

... snip ...

"c/_cffi_backend.c", line 6713.5: 1506-196 (W) Initialization between types "void*" and "void(*)(struct _cffi_externpy_s*,char*)" is not allowed.
"c/cdlopen.c", line 217.35: 1506-068 (W) Operation between types "void*" and "int(*)(struct _cffi_getconst_s*)" is not allowed.
/opt/lib/python2.7/config/ld_so_aix xlc_r -bI:/opt/lib/python2.7/config/python.exp -L/opt/lib build/temp.aix-5.3-2.7/c/_cffi_backend.o -lffi -o build/lib.aix-5.3-2.7/_cffi_backend.so


Getting closer.

If you find where __sync_synchronize() is supposed to be coming from - will adjust!
« Last Edit: March 14, 2017, 10:39:01 PM by Michael »

Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #7 on: March 14, 2017, 10:43:36 PM »
FYI: after small change (in previous message) - python ./setup.py install works.


root@x064:[/data/prj/python/cffi/cffi-1.9.1]python ./setup.py install
"_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
running install
running bdist_egg
running egg_info
writing requirements to cffi.egg-info/requires.txt
writing cffi.egg-info/PKG-INFO
writing top-level names to cffi.egg-info/top_level.txt
writing dependency_links to cffi.egg-info/dependency_links.txt
writing entry points to cffi.egg-info/entry_points.txt
reading manifest file 'cffi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'cffi.egg-info/SOURCES.txt'
installing library code to build/bdist.aix-5.3/egg
running install_lib
running build_py
running build_ext
creating build/bdist.aix-5.3
creating build/bdist.aix-5.3/egg
copying build/lib.aix-5.3-2.7/_cffi_backend.so -> build/bdist.aix-5.3/egg
creating build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/ffiplatform.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/recompiler.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/model.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/setuptools_ext.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/parse_c_type.h -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/backend_ctypes.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/commontypes.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/cparser.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/vengine_cpy.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/api.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/lock.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/_embedding.h -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/verifier.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/__init__.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/vengine_gen.py -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/_cffi_include.h -> build/bdist.aix-5.3/egg/cffi
copying build/lib.aix-5.3-2.7/cffi/cffi_opcode.py -> build/bdist.aix-5.3/egg/cffi
byte-compiling build/bdist.aix-5.3/egg/cffi/ffiplatform.py to ffiplatform.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/recompiler.py to recompiler.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/model.py to model.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/setuptools_ext.py to setuptools_ext.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/backend_ctypes.py to backend_ctypes.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/commontypes.py to commontypes.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/cparser.py to cparser.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/vengine_cpy.py to vengine_cpy.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/api.py to api.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/lock.py to lock.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/verifier.py to verifier.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/__init__.py to __init__.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/vengine_gen.py to vengine_gen.pyc
byte-compiling build/bdist.aix-5.3/egg/cffi/cffi_opcode.py to cffi_opcode.pyc
creating stub loader for _cffi_backend.so
byte-compiling build/bdist.aix-5.3/egg/_cffi_backend.py to _cffi_backend.pyc
creating build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/PKG-INFO -> build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/SOURCES.txt -> build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/dependency_links.txt -> build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/entry_points.txt -> build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/not-zip-safe -> build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/requires.txt -> build/bdist.aix-5.3/egg/EGG-INFO
copying cffi.egg-info/top_level.txt -> build/bdist.aix-5.3/egg/EGG-INFO
writing build/bdist.aix-5.3/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/cffi-1.9.1-py2.7-aix-5.3.egg' and adding 'build/bdist.aix-5.3/egg' to it
removing 'build/bdist.aix-5.3/egg' (and everything under it)
Processing cffi-1.9.1-py2.7-aix-5.3.egg
creating /opt/lib/python2.7/site-packages/cffi-1.9.1-py2.7-aix-5.3.egg
Extracting cffi-1.9.1-py2.7-aix-5.3.egg to /opt/lib/python2.7/site-packages
Adding cffi 1.9.1 to easy-install.pth file

Installed /opt/lib/python2.7/site-packages/cffi-1.9.1-py2.7-aix-5.3.egg
Processing dependencies for cffi==1.9.1
Searching for pycparser==2.17
Best match: pycparser 2.17
Adding pycparser 2.17 to easy-install.pth file

Using /opt/lib/python2.7/site-packages
Finished processing dependencies for cffi==1.9.1



root@x064:[/data/prj/python/cffi/cffi-1.9.1]pip list
cffi (1.9.1)
pip (8.1.1)
pycparser (2.17)
setuptools (20.10.1)
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.


I'll look into "packaging" this as aixtools.python.cffi.1.9.1.0.I


Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #8 on: March 14, 2017, 11:04:38 PM »
OK - got it done.

There is a small change needed in pycrypto (that I worked out last October).

You can read up on this at: https://github.com/dlitz/pycrypto/issues/209

I shall package this, but need to remove all and determine it's dependencies before packaging.


root@x064:[/data/prj/python/ansible]pip install ansible
Collecting ansible
  Using cached ansible-2.2.1.0.tar.gz
Collecting paramiko (from ansible)
  Using cached paramiko-2.1.2-py2.py3-none-any.whl
Collecting jinja2<2.9 (from ansible)
  Using cached Jinja2-2.8.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): PyYAML in /opt/lib/python2.7/site-packages (from ansible)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /opt/lib/python2.7/site-packages (from ansible)
Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.6 in /opt/lib/python2.7/site-packages (from ansible)
Collecting pyasn1>=0.1.7 (from paramiko->ansible)
  Using cached pyasn1-0.2.3-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): cryptography>=1.1 in /opt/lib/python2.7/site-packages (from paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): MarkupSafe in /opt/lib/python2.7/site-packages (from jinja2<2.9->ansible)
Requirement already satisfied (use --upgrade to upgrade): idna>=2.1 in /opt/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): asn1crypto>=0.21.0 in /opt/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): packaging in /opt/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /opt/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): enum34 in /opt/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): ipaddress in /opt/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): cffi>=1.4.1 in /opt/lib/python2.7/site-packages/cffi-1.9.1-py2.7-aix-5.3.egg (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): pyparsing in /opt/lib/python2.7/site-packages (from packaging->cryptography>=1.1->paramiko->ansible)
Requirement already satisfied (use --upgrade to upgrade): pycparser in /opt/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko->ansible)
Installing collected packages: pyasn1, paramiko, jinja2, ansible
  Found existing installation: Jinja2 2.9.5
    Uninstalling Jinja2-2.9.5:
      Successfully uninstalled Jinja2-2.9.5
  Running setup.py install for ansible ... done
Successfully installed ansible-2.2.1.0 jinja2-2.8.1 paramiko-2.1.2 pyasn1-0.2.3
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
root@x064:[/data/prj/python/ansible]pip list
ansible (2.2.1.0)
asn1crypto (0.21.1)
cffi (1.9.1)
cryptography (1.8.1)
enum34 (1.1.6)
idna (2.5)
ipaddress (1.0.18)
Jinja2 (2.8.1)
MarkupSafe (1.0)
packaging (16.8)
paramiko (2.1.2)
pip (8.1.1)
pyasn1 (0.2.3)
pycparser (2.17)
pycrypto (2.7a1)
pyparsing (2.2.0)
PyYAML (3.12)
setuptools (20.10.1)
six (1.10.0)
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.


Michael

  • Administrator
  • Hero Member
  • *****
  • Posts: 1052
  • Karma: +0/-0
Re: Ansible installation with python 2.7.12 fails
« Reply #9 on: March 16, 2017, 04:44:01 AM »
Almost ready to start packaging everything - but just noticed the unusual require for jinja2 - must be less than version 2.9. Can make that "happen", but will be tricky to not let jinja2 break things later with an upgrade!