title: gevent fails to install in a python virtual environment on OS X Capitan
body: <p>I just installed OS X Capitan and tried installing gevent in a python2.7.x virtual environment. And here's what I get. Looks like something related to gcc. Here's the traceback:</p>
  
  <pre><code>  Building wheels for collected packages: gevent
    Running setup.py bdist_wheel for gevent
    Complete output from command /Users/admin/pyenvs/plgrnd/bin/python -c "import setuptools;__file__='/private/var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-build-KkzbuJ/gevent/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/tmpxRMK02pip-wheel-:
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.5-x86_64-2.7
    creating build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/__init__.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/_ssl2.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/_sslgte279.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/_threading.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/backdoor.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/baseserver.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/coros.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/event.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/fileobject.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/greenlet.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/hub.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/local.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/lock.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/monkey.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/os.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/pool.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/pywsgi.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/queue.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/resolver_ares.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/resolver_thread.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/select.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/server.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/socket.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/ssl.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/subprocess.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/thread.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/threading.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/threadpool.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/timeout.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/util.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/win32util.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    copying gevent/wsgi.py -&gt; build/lib.macosx-10.5-x86_64-2.7/gevent
    running build_ext
    Running '/bin/sh /private/var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-build-KkzbuJ/gevent/libev/configure &gt; configure-output.txt' in /private/var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-build-KkzbuJ/gevent/build/temp.macosx-10.5-x86_64-2.7/libev
    building 'gevent.core' extension
    creating build/temp.macosx-10.5-x86_64-2.7/gevent
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -U__llvm__ -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.5-x86_64-2.7/libev -Ilibev -I/Users/admin/anaconda/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.5-x86_64-2.7/gevent/gevent.core.o
    In file included from gevent/gevent.core.c:249:
    In file included from gevent/libev.h:2:
    libev/ev.c:483:48: warning: '/*' within block comment [-Wcomment]
    /*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
                                                   ^
    libev/ev.c:1029:42: error: '_Noreturn' keyword must precede function declarator
      ecb_inline void ecb_unreachable (void) ecb_noreturn;
                                             ^~~~~~~~~~~~
      _Noreturn
    libev/ev.c:832:26: note: expanded from macro 'ecb_noreturn'
      #define ecb_noreturn   _Noreturn
                             ^
    libev/ev.c:1625:31: warning: 'extern' variable has an initializer [-Wextern-initializer]
      EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
                                  ^
    libev/ev.c:1796:7: warning: unused variable 'ocur_' [-Wunused-variable]
          array_needsize (ANPENDING, pendings [pri], pendingmax [pri], w_-&gt;pending, EMPTY2);
          ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:1807:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (W, rfeeds, rfeedmax, rfeedcnt + 1, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:1934:7: warning: unused variable 'ocur_' [-Wunused-variable]
          array_needsize (int, fdchanges, fdchangemax, fdchangecnt, EMPTY2);
          ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    In file included from gevent/gevent.core.c:249:
    In file included from gevent/libev.h:2:
    In file included from libev/ev.c:2484:
    libev/ev_kqueue.c:50:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (struct kevent, kqueue_changes, kqueue_changemax, kqueue_changecnt, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    In file included from gevent/gevent.core.c:249:
    In file included from gevent/libev.h:2:
    In file included from libev/ev.c:2490:
    libev/ev_poll.c:66:7: warning: unused variable 'ocur_' [-Wunused-variable]
          array_needsize (struct pollfd, polls, pollmax, pollcnt, EMPTY2);
          ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:3648:34: warning: '&amp;' within '|' [-Wbitwise-op-parentheses]
      fd_change (EV_A_ fd, w-&gt;events &amp; EV__IOFDSET | EV_ANFD_REIFY);
                           ~~~~~~~~~~^~~~~~~~~~~~~ ~
    libev/ev.c:3648:34: note: place parentheses around the '&amp;' expression to silence this warning
      fd_change (EV_A_ fd, w-&gt;events &amp; EV__IOFDSET | EV_ANFD_REIFY);
                                     ^
                           (                      )
    libev/ev.c:3687:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (ANHE, timers, timermax, ev_active (w) + 1, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:4367:5: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (ev_idle *, idles [ABSPRI (w)], idlemax [ABSPRI (w)], active, EMPTY2);
        ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:4407:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (ev_prepare *, prepares, preparemax, preparecnt, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:4445:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (ev_check *, checks, checkmax, checkcnt, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:4592:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (ev_fork *, forks, forkmax, forkcnt, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    libev/ev.c:4675:3: warning: unused variable 'ocur_' [-Wunused-variable]
      array_needsize (ev_async *, asyncs, asyncmax, asynccnt, EMPTY2);
      ^
    libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
          int ecb_unused ocur_ = (cur);                                     \
                         ^
    14 warnings and 1 error generated.
    error: command 'gcc' failed with exit status 1
  
    ----------------------------------------
    Failed building wheel for gevent
  Failed to build gevent
  Installing collected packages: gevent, futures, trollius, aiogevent, colorama, jmespath, six, python-dateutil, docutils, botocore, pyasn1, rsa, awscli, boto, coverage, ijson, linecache2, pep8, pip2pi, protobuf, PyMySQL, PyYAML, requests, requests-futures, argparse, snakebite, SQLAlchemy, testfixtures, traceback2, unittest2, wheel
    Running setup.py install for gevent
      Complete output from command /Users/admin/pyenvs/plgrnd/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-build-KkzbuJ/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-_tF1FW-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/admin/pyenvs/plgrnd/include/site/python2.7/gevent:
      running install
      running build
      running build_py
      running build_ext
      building 'gevent.core' extension
      gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -U__llvm__ -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.5-x86_64-2.7/libev -Ilibev -I/Users/admin/anaconda/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.5-x86_64-2.7/gevent/gevent.core.o
      In file included from gevent/gevent.core.c:249:
      In file included from gevent/libev.h:2:
      libev/ev.c:483:48: warning: '/*' within block comment [-Wcomment]
      /*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
                                                     ^
      libev/ev.c:1029:42: error: '_Noreturn' keyword must precede function declarator
        ecb_inline void ecb_unreachable (void) ecb_noreturn;
                                               ^~~~~~~~~~~~
        _Noreturn
      libev/ev.c:832:26: note: expanded from macro 'ecb_noreturn'
        #define ecb_noreturn   _Noreturn
                               ^
      libev/ev.c:1625:31: warning: 'extern' variable has an initializer [-Wextern-initializer]
        EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
                                    ^
      libev/ev.c:1796:7: warning: unused variable 'ocur_' [-Wunused-variable]
            array_needsize (ANPENDING, pendings [pri], pendingmax [pri], w_-&gt;pending, EMPTY2);
            ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:1807:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (W, rfeeds, rfeedmax, rfeedcnt + 1, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:1934:7: warning: unused variable 'ocur_' [-Wunused-variable]
            array_needsize (int, fdchanges, fdchangemax, fdchangecnt, EMPTY2);
            ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      In file included from gevent/gevent.core.c:249:
      In file included from gevent/libev.h:2:
      In file included from libev/ev.c:2484:
      libev/ev_kqueue.c:50:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (struct kevent, kqueue_changes, kqueue_changemax, kqueue_changecnt, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      In file included from gevent/gevent.core.c:249:
      In file included from gevent/libev.h:2:
      In file included from libev/ev.c:2490:
      libev/ev_poll.c:66:7: warning: unused variable 'ocur_' [-Wunused-variable]
            array_needsize (struct pollfd, polls, pollmax, pollcnt, EMPTY2);
            ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:3648:34: warning: '&amp;' within '|' [-Wbitwise-op-parentheses]
        fd_change (EV_A_ fd, w-&gt;events &amp; EV__IOFDSET | EV_ANFD_REIFY);
                             ~~~~~~~~~~^~~~~~~~~~~~~ ~
      libev/ev.c:3648:34: note: place parentheses around the '&amp;' expression to silence this warning
        fd_change (EV_A_ fd, w-&gt;events &amp; EV__IOFDSET | EV_ANFD_REIFY);
                                       ^
                             (                      )
      libev/ev.c:3687:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (ANHE, timers, timermax, ev_active (w) + 1, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:4367:5: warning: unused variable 'ocur_' [-Wunused-variable]
          array_needsize (ev_idle *, idles [ABSPRI (w)], idlemax [ABSPRI (w)], active, EMPTY2);
          ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:4407:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (ev_prepare *, prepares, preparemax, preparecnt, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:4445:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (ev_check *, checks, checkmax, checkcnt, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:4592:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (ev_fork *, forks, forkmax, forkcnt, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      libev/ev.c:4675:3: warning: unused variable 'ocur_' [-Wunused-variable]
        array_needsize (ev_async *, asyncs, asyncmax, asynccnt, EMPTY2);
        ^
      libev/ev.c:1758:22: note: expanded from macro 'array_needsize'
            int ecb_unused ocur_ = (cur);                                     \
                           ^
      14 warnings and 1 error generated.
      error: command 'gcc' failed with exit status 1
  
      ----------------------------------------
  Command "/Users/admin/pyenvs/plgrnd/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-build-KkzbuJ/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-_tF1FW-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/admin/pyenvs/plgrnd/include/site/python2.7/gevent" failed with error code 1 in /private/var/folders/m8/xt5420594cn8zbgnry594ljw0000gn/T/pip-build-KkzbuJ/gevent
  </code></pre>
  
  <p>Any help is greatly appreciated.</p>