docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 879 forks source link

Upgrading from 0.9.0 to 0.9.1 #906

Closed kyleburnett closed 9 years ago

kyleburnett commented 9 years ago

When I tried to run the docker-registry at the new version, 0.9.1, I received an error about gevent not being installed. Once I installed this, the errors were different, but still related to gevent:

[2015-01-22 18:59:52 +0000] [8842] [INFO] Starting gunicorn 19.1.1
[2015-01-22 18:59:52 +0000] [8842] [INFO] Listening at: http://127.0.0.1:5000 (8842)
[2015-01-22 18:59:52 +0000] [8842] [INFO] Using worker: gevent
[2015-01-22 18:59:52 +0000] [8854] [INFO] Booting worker with pid: 8854
[2015-01-22 18:59:52 +0000] [8854] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 507, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/ggevent.py", line 193, in init_process
    super(GeventWorker, self).init_process()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 114, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py", line 66, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/util.py", line 356, in import_app
    __import__(module)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/wsgi.py", line 19, in <module>
    from .app import app  # noqa
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/app.py", line 8, in <module>
    from . import toolkit
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/toolkit.py", line 14, in <module>
    import flask
  File "/usr/local/lib/python2.7/dist-packages/flask/__init__.py", line 17, in <module>
    from werkzeug.exceptions import abort
ImportError: No module named werkzeug.exceptions
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 507, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/ggevent.py", line 193, in init_process
    super(GeventWorker, self).init_process()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 114, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py", line 66, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/util.py", line 356, in import_app
    __import__(module)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/wsgi.py", line 19, in <module>
    from .app import app  # noqa
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/app.py", line 8, in <module>
    from . import toolkit
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/toolkit.py", line 14, in <module>
    import flask
  File "/usr/local/lib/python2.7/dist-packages/flask/__init__.py", line 17, in <module>
    from werkzeug.exceptions import abort
ImportError: No module named werkzeug.exceptions
[2015-01-22 18:59:52 +0000] [8854] [INFO] Worker exiting (pid: 8854)

Apparently some dependencies are missing in this installation. My question is: what packages at what versions do I need to install to get release 0.9.1 to work? Specifically, the upgrade path from 0.9.0 to 0.9.1.

dmp42 commented 9 years ago

How did you install the registry? Did you use the pip package? Are you running from source?

kyleburnett commented 9 years ago

I used pip install docker-registry

dmp42 commented 9 years ago

gevent is explicitly listed as a dependency: https://github.com/docker/docker-registry/blob/master/requirements/main.txt and 0.9.0 could not have possibly ran without it.

Did you change something on your python after installing the registry?

Can you pip install docker-registry again and copy the output?

Thanks.

kyleburnett commented 9 years ago

No, I didn't change anything.

pip install docker-registry is part of our Vagrantfile. This is the output that I see. The first line (Installing Docker Registry) is my print statement from the Vagrantfile.

==> default: Installing Docker Registry...
==> default: Downloading/unpacking docker-registry
==> default:   Running setup.py (path:/tmp/pip_build_root/docker-registry/setup.py) egg_info for package docker-registry
==> default:     
==> default: Downloading/unpacking docker-registry-core>=2,<3 (from docker-registry)
==> default:   Downloading docker-registry-core-2.0.3.tar.gz
==> default:   Running setup.py (path:/tmp/pip_build_root/docker-registry-core/setup.py) egg_info for package docker-registry-core
==> default:     
==> default: Downloading/unpacking backports.lzma==0.0.3,!=0.0.4 (from docker-registry)
==> default:   Downloading backports.lzma-0.0.3.tar.gz
==> default:   Running setup.py (path:/tmp/pip_build_root/backports.lzma/setup.py) egg_info for package backports.lzma
==> default:     This is backports.lzma version 0.0.3
==> default:     
==> default: Downloading/unpacking blinker==1.3 (from docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/blinker/setup.py) egg_info for package blinker
==> default:     
==> default: Downloading/unpacking Flask==0.10.1 (from docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/Flask/setup.py) egg_info for package Flask
==> default:     
==> default:     warning: no files found matching '*' under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'examples'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'examples'
==> default:     no previously-included directories found matching 'docs/_build'
==> default:     no previously-included directories found matching 'docs/_themes/.git'
==> default: Downloading/unpacking gevent==1.0.1 (from docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/gevent/setup.py) egg_info for package gevent
==> default:     
==> default: Downloading/unpacking gunicorn==19.1.1 (from docker-registry)
==> default: Downloading/unpacking PyYAML==3.11 (from docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/PyYAML/setup.py) egg_info for package PyYAML
==> default:     
==> default: Downloading/unpacking requests==2.3.0 (from docker-registry)
==> default: Downloading/unpacking M2Crypto==0.22.3 (from docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/M2Crypto/setup.py) egg_info for package M2Crypto
==> default:     
==> default: Downloading/unpacking sqlalchemy==0.9.4 (from docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/sqlalchemy/setup.py) egg_info for package sqlalchemy
==> default:     
==> default:     warning: no files found matching '*.jpg' under directory 'doc'
==> default:     warning: no files found matching 'distribute_setup.py'
==> default:     warning: no files found matching 'sa2to3.py'
==> default:     warning: no files found matching 'ez_setup.py'
==> default:     no previously-included directories found matching 'doc/build/output'
==> default: Downloading/unpacking setuptools==5.8 (from docker-registry)
==> default: Downloading/unpacking boto==2.34.0 (from docker-registry-core>=2,<3->docker-registry)
==> default: Downloading/unpacking redis==2.10.3 (from docker-registry-core>=2,<3->docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/redis/setup.py) egg_info for package redis
==> default:     
==> default:     warning: no previously-included files found matching '__pycache__'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'tests'
==> default: Downloading/unpacking simplejson==3.6.2 (from docker-registry-core>=2,<3->docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/simplejson/setup.py) egg_info for package simplejson
==> default:     
==> default: Downloading/unpacking Werkzeug>=0.7 (from Flask==0.10.1->docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/Werkzeug/setup.py) egg_info for package Werkzeug
==> default:     
==> default:     warning: no files found matching '*' under directory 'werkzeug/debug/templates'
==> default:     warning: no files found matching '*' under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'examples'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'examples'
==> default:     no previously-included directories found matching 'docs/_build'
==> default: Downloading/unpacking Jinja2>=2.4 (from Flask==0.10.1->docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/Jinja2/setup.py) egg_info for package Jinja2
==> default:     
==> default:     warning: no files found matching '*' under directory 'custom_fixers'
==> default:     warning: no previously-included files matching '*' found under directory 'docs/_build'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'jinja2'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'jinja2'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'docs'
==> default: Downloading/unpacking itsdangerous>=0.21 (from Flask==0.10.1->docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/itsdangerous/setup.py) egg_info for package itsdangerous
==> default:     
==> default:     warning: no previously-included files matching '*' found under directory 'docs/_build'
==> default: Downloading/unpacking greenlet (from gevent==1.0.1->docker-registry)
==> default:   Running setup.py (path:/tmp/pip_build_root/greenlet/setup.py) egg_info for package greenlet
==> default:     
==> default: Downloading/unpacking markupsafe (from Jinja2>=2.4->Flask==0.10.1->docker-registry)
==> default:   Downloading MarkupSafe-0.23.tar.gz
==> default:   Running setup.py (path:/tmp/pip_build_root/markupsafe/setup.py) egg_info for package markupsafe
==> default:     
==> default: Installing collected packages: docker-registry, docker-registry-core, backports.lzma, blinker, Flask, gevent, gunicorn, PyYAML, requests, M2Crypto, sqlalchemy, setuptools, boto, redis, simplejson, Werkzeug, Jinja2, itsdangerous, greenlet, markupsafe
==> default:   Running setup.py install for docker-registry
==> default:     Skipping installation of /usr/local/lib/python2.7/dist-packages/docker_registry/__init__.py (namespace package)
==> default:     Skipping installation of /usr/local/lib/python2.7/dist-packages/docker_registry/drivers/__init__.py (namespace package)
==> default:     
==> default:     Installing /usr/local/lib/python2.7/dist-packages/docker_registry-0.9.1-nspkg.pth
==> default:     Installing docker-registry script to /usr/local/bin
==> default:   Running setup.py install for docker-registry-core
==> default:     Skipping installation of /usr/local/lib/python2.7/dist-packages/docker_registry/__init__.py (namespace package)
==> default:     Skipping installation of /usr/local/lib/python2.7/dist-packages/docker_registry/drivers/__init__.py (namespace package)
==> default:     
==> default:     Installing /usr/local/lib/python2.7/dist-packages/docker_registry_core-2.0.3-nspkg.pth
==> default:   Running setup.py install for backports.lzma
==> default:     This is backports.lzma version 0.0.3
==> default:     building 'backports/lzma/_lzma' extension
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/root/include -I/opt/local/include -I/usr/local/include -I/usr/include/python2.7 -c backports/lzma/_lzmamodule.c -o build/temp.linux-x86_64-2.7/backports/lzma/_lzmamodule.o
==> default:     x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/backports/lzma/_lzmamodule.o -L/root/lib -L/opt/local/lib -L/usr/local/lib -llzma -o build/lib.linux-x86_64-2.7/backports/lzma/_lzma.so
==> default:     
==> default:   Running setup.py install for blinker
==> default:     
==> default:   Running setup.py install for Flask
==> default:     
==> default:     warning: no files found matching '*' under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'docs'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'tests'
==> default:     warning: no previously-included files matching '*.pyc' found under directory 'examples'
==> default:     warning: no previously-included files matching '*.pyo' found under directory 'examples'
==> default:     no previously-included directories found matching 'docs/_build'
==> default:     no previously-included directories found matching 'docs/_themes/.git'
==> default:   Running setup.py install for gevent
==> default:     Running '/bin/sh /tmp/pip_build_root/gevent/libev/configure > configure-output.txt' in /tmp/pip_build_root/gevent/build/temp.linux-x86_64-2.7/libev
==> default:     building 'gevent.core' extension
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.linux-x86_64-2.7/libev -Ilibev -I/usr/include/python2.7 -c gevent/gevent.core.c -o build/temp.linux-x86_64-2.7/gevent/gevent.core.o
==> default:     In file included from gevent/libev.h:2:0,
==> default:                      from gevent/gevent.core.c:313:
==> default:     libev/ev.c:477:48: warning: "/*" within comment [-Wcomment]
==> default:      /*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
==> default:      ^
==> default:     In file included from gevent/libev.h:2:0,
==> default:                      from gevent/gevent.core.c:313:
==> default:     libev/ev.c:1531:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’ [enabled by default]
==> default:        EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
==> default:                                    ^
==> default:     In file included from gevent/libev.h:2:0,
==> default:                      from gevent/gevent.core.c:313:
==> default:     libev/ev.c: In function ‘ev_io_start’:
==> default:     libev/ev.c:3554:34: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
==> default:        fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
==> default:                                       ^
==> default:     libev/ev.c: At top level:
==> default:     libev/ev.c:4795:27: warning: "/*" within comment [-Wcomment]
==> default:      /* EV_STAT     0x00001000 /* stat data changed */
==> default:      ^
==> default:     libev/ev.c:4796:27: warning: "/*" within comment [-Wcomment]
==> default:      /* EV_EMBED    0x00010000 /* embedded event loop needs sweep */
==> default:      ^
==> default:     In file included from gevent/libev.h:2:0,
==> default:                      from gevent/gevent.core.c:313:
==> default:     libev/ev.c: In function ‘evpipe_write’:
==> default:     libev/ev.c:2160:17: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
==> default:                write (evpipe [1], &counter, sizeof (uint64_t));
==> default:                      ^
==> default:     libev/ev.c:2172:17: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
==> default:                write (evpipe [1], &(evpipe [1]), 1);
==> default:                      ^
==> default:     libev/ev.c: In function ‘pipecb’:
==> default:     libev/ev.c:2193:16: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
==> default:                read (evpipe [1], &counter, sizeof (uint64_t));
==> default:                     ^
==> default:     libev/ev.c:2207:16: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
==> default:                read (evpipe [0], &dummy, sizeof (dummy));
==> default:                     ^
==> default:     x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gevent/gevent.core.o -o build/lib.linux-x86_64-2.7/gevent/core.so
==> default:     Linking /tmp/pip_build_root/gevent/build/lib.linux-x86_64-2.7/gevent/core.so to /tmp/pip_build_root/gevent/gevent/core.so
==> default:     Running '/bin/sh /tmp/pip_build_root/gevent/c-ares/configure CONFIG_COMMANDS= CONFIG_FILES= > configure-output.txt' in /tmp/pip_build_root/gevent/build/temp.linux-x86_64-2.7/c-ares
==> default:     building 'gevent.ares' extension
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c gevent/gevent.ares.c -o build/temp.linux-x86_64-2.7/gevent/gevent.ares.o
==> default:     In file included from gevent/gevent.ares.c:314:0:
==> default:     gevent/dnshelper.c: In function ‘gevent_append_addr’:
==> default:     gevent/dnshelper.c:51:5: warning: implicit declaration of function ‘inet_ntop’ [-Wimplicit-function-declaration]
==> default:          if (ares_inet_ntop(family, src, tmpbuf, tmpsize)) {
==> default:          ^
==> default:     gevent/dnshelper.c: In function ‘gevent_make_sockaddr’:
==> default:     gevent/dnshelper.c:137:5: warning: implicit declaration of function ‘inet_pton’ [-Wimplicit-function-declaration]
==> default:          if ( ares_inet_pton(AF_INET, hostp, &((struct sockaddr_in*)sa6)->sin_addr.s_addr) > 0 ) {
==> default:          ^
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares__close_sockets.c -o build/temp.linux-x86_64-2.7/c-ares/ares__close_sockets.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares__get_hostent.c -o build/temp.linux-x86_64-2.7/c-ares/ares__get_hostent.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares__read_line.c -o build/temp.linux-x86_64-2.7/c-ares/ares__read_line.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares__timeval.c -o build/temp.linux-x86_64-2.7/c-ares/ares__timeval.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_cancel.c -o build/temp.linux-x86_64-2.7/c-ares/ares_cancel.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_create_query.c -o build/temp.linux-x86_64-2.7/c-ares/ares_create_query.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_data.c -o build/temp.linux-x86_64-2.7/c-ares/ares_data.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_destroy.c -o build/temp.linux-x86_64-2.7/c-ares/ares_destroy.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_expand_name.c -o build/temp.linux-x86_64-2.7/c-ares/ares_expand_name.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_expand_string.c -o build/temp.linux-x86_64-2.7/c-ares/ares_expand_string.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_fds.c -o build/temp.linux-x86_64-2.7/c-ares/ares_fds.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_free_hostent.c -o build/temp.linux-x86_64-2.7/c-ares/ares_free_hostent.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_free_string.c -o build/temp.linux-x86_64-2.7/c-ares/ares_free_string.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_getenv.c -o build/temp.linux-x86_64-2.7/c-ares/ares_getenv.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_gethostbyaddr.c -o build/temp.linux-x86_64-2.7/c-ares/ares_gethostbyaddr.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_gethostbyname.c -o build/temp.linux-x86_64-2.7/c-ares/ares_gethostbyname.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_getnameinfo.c -o build/temp.linux-x86_64-2.7/c-ares/ares_getnameinfo.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_getopt.c -o build/temp.linux-x86_64-2.7/c-ares/ares_getopt.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_getsock.c -o build/temp.linux-x86_64-2.7/c-ares/ares_getsock.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_init.c -o build/temp.linux-x86_64-2.7/c-ares/ares_init.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_library_init.c -o build/temp.linux-x86_64-2.7/c-ares/ares_library_init.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_llist.c -o build/temp.linux-x86_64-2.7/c-ares/ares_llist.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_mkquery.c -o build/temp.linux-x86_64-2.7/c-ares/ares_mkquery.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_nowarn.c -o build/temp.linux-x86_64-2.7/c-ares/ares_nowarn.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_options.c -o build/temp.linux-x86_64-2.7/c-ares/ares_options.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_a_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_a_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_aaaa_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_aaaa_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_mx_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_mx_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_naptr_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_naptr_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_ns_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_ns_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_ptr_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_ptr_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_soa_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_soa_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_srv_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_srv_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_parse_txt_reply.c -o build/temp.linux-x86_64-2.7/c-ares/ares_parse_txt_reply.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_platform.c -o build/temp.linux-x86_64-2.7/c-ares/ares_platform.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_process.c -o build/temp.linux-x86_64-2.7/c-ares/ares_process.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_query.c -o build/temp.linux-x86_64-2.7/c-ares/ares_query.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_search.c -o build/temp.linux-x86_64-2.7/c-ares/ares_search.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_send.c -o build/temp.linux-x86_64-2.7/c-ares/ares_send.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_strcasecmp.c -o build/temp.linux-x86_64-2.7/c-ares/ares_strcasecmp.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_strdup.c -o build/temp.linux-x86_64-2.7/c-ares/ares_strdup.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_strerror.c -o build/temp.linux-x86_64-2.7/c-ares/ares_strerror.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_timeout.c -o build/temp.linux-x86_64-2.7/c-ares/ares_timeout.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_version.c -o build/temp.linux-x86_64-2.7/c-ares/ares_version.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/ares_writev.c -o build/temp.linux-x86_64-2.7/c-ares/ares_writev.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/bitncmp.c -o build/temp.linux-x86_64-2.7/c-ares/bitncmp.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/inet_net_pton.c -o build/temp.linux-x86_64-2.7/c-ares/inet_net_pton.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/inet_ntop.c -o build/temp.linux-x86_64-2.7/c-ares/inet_ntop.o
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DHAVE_CONFIG_H= -DCARES_EMBED=1 -Ibuild/temp.linux-x86_64-2.7/c-ares -Ic-ares -I/usr/include/python2.7 -c c-ares/windows_port.c -o build/temp.linux-x86_64-2.7/c-ares/windows_port.o
==> default:     x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gevent/gevent.ares.o build/temp.linux-x86_64-2.7/c-ares/ares__close_sockets.o build/temp.linux-x86_64-2.7/c-ares/ares__get_hostent.o build/temp.linux-x86_64-2.7/c-ares/ares__read_line.o build/temp.linux-x86_64-2.7/c-ares/ares__timeval.o build/temp.linux-x86_64-2.7/c-ares/ares_cancel.o build/temp.linux-x86_64-2.7/c-ares/ares_create_query.o build/temp.linux-x86_64-2.7/c-ares/ares_data.o build/temp.linux-x86_64-2.7/c-ares/ares_destroy.o build/temp.linux-x86_64-2.7/c-ares/ares_expand_name.o build/temp.linux-x86_64-2.7/c-ares/ares_expand_string.o build/temp.linux-x86_64-2.7/c-ares/ares_fds.o build/temp.linux-x86_64-2.7/c-ares/ares_free_hostent.o build/temp.linux-x86_64-2.7/c-ares/ares_free_string.o build/temp.linux-x86_64-2.7/c-ares/ares_getenv.o build/temp.linux-x86_64-2.7/c-ares/ares_gethostbyaddr.o build/temp.linux-x86_64-2.7/c-ares/ares_gethostbyname.o build/temp.linux-x86_64-2.7/c-ares/ares_getnameinfo.o build/temp.linux-x86_64-2.7/c-ares/ares_getopt.o build/temp.linux-x86_64-2.7/c-ares/ares_getsock.o build/temp.linux-x86_64-2.7/c-ares/ares_init.o build/temp.linux-x86_64-2.7/c-ares/ares_library_init.o build/temp.linux-x86_64-2.7/c-ares/ares_llist.o build/temp.linux-x86_64-2.7/c-ares/ares_mkquery.o build/temp.linux-x86_64-2.7/c-ares/ares_nowarn.o build/temp.linux-x86_64-2.7/c-ares/ares_options.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_a_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_aaaa_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_mx_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_naptr_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_ns_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_ptr_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_soa_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_srv_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_parse_txt_reply.o build/temp.linux-x86_64-2.7/c-ares/ares_platform.o build/temp.linux-x86_64-2.7/c-ares/ares_process.o build/temp.linux-x86_64-2.7/c-ares/ares_query.o build/temp.linux-x86_64-2.7/c-ares/ares_search.o build/temp.linux-x86_64-2.7/c-ares/ares_send.o build/temp.linux-x86_64-2.7/c-ares/ares_strcasecmp.o build/temp.linux-x86_64-2.7/c-ares/ares_strdup.o build/temp.linux-x86_64-2.7/c-ares/ares_strerror.o build/temp.linux-x86_64-2.7/c-ares/ares_timeout.o build/temp.linux-x86_64-2.7/c-ares/ares_version.o build/temp.linux-x86_64-2.7/c-ares/ares_writev.o build/temp.linux-x86_64-2.7/c-ares/bitncmp.o build/temp.linux-x86_64-2.7/c-ares/inet_net_pton.o build/temp.linux-x86_64-2.7/c-ares/inet_ntop.o build/temp.linux-x86_64-2.7/c-ares/windows_port.o -lrt -o build/lib.linux-x86_64-2.7/gevent/ares.so
==> default:     Linking /tmp/pip_build_root/gevent/build/lib.linux-x86_64-2.7/gevent/ares.so to /tmp/pip_build_root/gevent/gevent/ares.so
==> default:     building 'gevent._semaphore' extension
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gevent/gevent._semaphore.c -o build/temp.linux-x86_64-2.7/gevent/gevent._semaphore.o
==> default:     x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gevent/gevent._semaphore.o -o build/lib.linux-x86_64-2.7/gevent/_semaphore.so
==> default:     Linking /tmp/pip_build_root/gevent/build/lib.linux-x86_64-2.7/gevent/_semaphore.so to /tmp/pip_build_root/gevent/gevent/_semaphore.so
==> default:     building 'gevent._util' extension
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gevent/gevent._util.c -o build/temp.linux-x86_64-2.7/gevent/gevent._util.o
==> default:     x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gevent/gevent._util.o -o build/lib.linux-x86_64-2.7/gevent/_util.so
==> default:     Linking /tmp/pip_build_root/gevent/build/lib.linux-x86_64-2.7/gevent/_util.so to /tmp/pip_build_root/gevent/gevent/_util.so
==> default:     
==> default: Compiling /tmp/pip_build_root/gunicorn/gunicorn/workers/_gaiohttp.py ...
==> default:   File "/tmp/pip_build_root/gunicorn/gunicorn/workers/_gaiohttp.py", line 64
==> default:     yield from self.wsgi.close()
==> default:              ^
==> default: SyntaxError: invalid syntax
==> default: 
==> default:   Found existing installation: PyYAML 3.10
==> default:     Uninstalling PyYAML:
==> default:       Successfully uninstalled PyYAML
==> default:   Running setup.py install for PyYAML
==> default:     checking if libyaml is compilable
==> default:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o
==> default:     build/temp.linux-x86_64-2.7/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
==> default:      #include <yaml.h>
==> default:                       ^
==> default:     compilation terminated.
==> default:     
==> default:     libyaml is not found or a compiler error: forcing --without-libyaml
==> default:     (if libyaml is installed correctly, you may need to
==> default:      specify the option --include-dirs or uncomment and
==> default:      modify the parameter include_dirs in setup.cfg)
==> default:     
==> default:   Found existing installation: requests 2.2.1
==> default:     Uninstalling requests:
==> default:       Successfully uninstalled requests
==> default:   Running setup.py install for M2Crypto
==> default:     building 'M2Crypto.__m2crypto' extension
==> default:     swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
==> default:     swig -python -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
==> default:     unable to execute 'swig': No such file or directory
==> default:     error: command 'swig' failed with exit status 1
==> default:     Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ofCXHv-record/install-record.txt --single-version-externally-managed --compile:
==> default:     running install
==> default: 
==> default: running build
==> default: 
==> default: running build_py
==> default: 
==> default: creating build/lib.linux-x86_64-2.7
==> default: 
==> default: creating build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/__init__.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: copying M2Crypto/util.py -> build/lib.linux-x86_64-2.7/M2Crypto
==> default: 
==> default: creating build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/__init__.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
==> default: 
==> default: running build_ext
==> default: 
==> default: building 'M2Crypto.__m2crypto' extension
==> default: 
==> default: swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
==> default: 
==> default: swig -python -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
==> default: 
==> default: unable to execute 'swig': No such file or directory
==> default: 
==> default: error: command 'swig' failed with exit status 1
==> default: 
==> default: ----------------------------------------
==> default: Cleaning up...
==> default: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ofCXHv-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/M2Crypto
==> default: Traceback (most recent call last):
==> default:   File "/usr/bin/pip", line 9, in <module>
==> default:     load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
==> default:   File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
==> default:     return command.main(cmd_args)
==> default:   File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
==> default:     text = '\n'.join(complete_log)
==> default: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 33: ordinal not in range(128)
==> default: docker-registry start/running, process 3959

After this, I did this from the vagrant VM

$ sudo service docker-registry status
docker-registry stop/waiting
$ sudo service docker-registry start
docker-registry start/running, process 8244
$ sudo service docker-registry status
docker-registry stop/waiting
dmp42 commented 9 years ago

Your installation is failing because swig is missing.

apt-get install swig (or flavor this to your own distro) will likely solve your issue.

Indeed, the ADVANCED.md file has not been updated. Although, the travis.yml always contain exact steps for manual installation on a bare system: https://github.com/docker/docker-registry/blob/master/.travis.yml and so does the Dockerfile: https://github.com/docker/docker-registry/blob/master/Dockerfile

Sorry about the inconvenience on this - tell me if the suggestion does fix your problem.

kyleburnett commented 9 years ago

Thank you. I didn't think to look in the travis.yml file. I was missing swig and libssl-dev.