Trying to install gevent using Homebrew on OSX 10.11 latest public beta. When running the install, it outputs the following errors (Sorry for the large wall of code, not sure exactly where the error is)
clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I /opt/local/include -L /opt/local/lib -U__llvm__ -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.11-x86_64-2.7/libev -Ilibev -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.11-x86_64-2.7/gevent/gevent.core.o
clang: warning: argument unused during compilation: '-L/opt/local/lib'
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_->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: '&' within '|' [-Wbitwise-op-parentheses]
fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
~~~~~~~~~~^~~~~~~~~~~~~ ~
libev/ev.c:3648:34: note: place parentheses around the '&' expression to silence this warning
fd_change (EV_A_ fd, w->events & 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 'clang' failed with exit status 1
----------------------------------------
Failed building wheel for gevent
Failed to build gevent
Installing collected packages: gevent
Running setup.py install for gevent
Complete output from command /usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/var/folders/q8/1c24n_wj6kzc6kgl7629pwyh0000gn/T/pip-build-3zCPVx/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/q8/1c24n_wj6kzc6kgl7629pwyh0000gn/T/pip-9VpZCX-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
running build_ext
building 'gevent.core' extension
clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I /opt/local/include -L /opt/local/lib -U__llvm__ -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.11-x86_64-2.7/libev -Ilibev -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.11-x86_64-2.7/gevent/gevent.core.o
clang: warning: argument unused during compilation: '-L/opt/local/lib'
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_->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: '&' within '|' [-Wbitwise-op-parentheses]
fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
~~~~~~~~~~^~~~~~~~~~~~~ ~
libev/ev.c:3648:34: note: place parentheses around the '&' expression to silence this warning
fd_change (EV_A_ fd, w->events & 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 'clang' failed with exit status 1
----------------------------------------
Command "/usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/var/folders/q8/1c24n_wj6kzc6kgl7629pwyh0000gn/T/pip-build-3zCPVx/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/q8/1c24n_wj6kzc6kgl7629pwyh0000gn/T/pip-9VpZCX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/q8/1c24n_wj6kzc6kgl7629pwyh0000gn/T/pip-build-3zCPVx/gevent
use CFLAGS='-std=c99' pip install gevent
to fix this.
on OS X 10.11, clang uses c11 as the default, so just turn it back to c99.
I ran into the same issue on my OSX 10.10.5, trying to install flask-socketio, which has gevent as a dependency, but:
sudo CFLAGS='-std=c99' pip install flask-socketio
gave me
Successfully installed flask-socketio-0.6.0 gevent-1.0.2 gevent-socketio-0.3.6 gevent-websocket-0.9.5
So, tonicbupt's answer worked for this too.
I wasted my time for two days and the solution below for Mac users...
pip install gevent==1.1b5
Solution: gevent fails to install in a python virtual environment on OS X Capitan
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With