Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install locust on OS X #340

Closed
danydev opened this issue Sep 25, 2015 · 4 comments
Closed

Unable to install locust on OS X #340

danydev opened this issue Sep 25, 2015 · 4 comments

Comments

@danydev
Copy link

danydev commented Sep 25, 2015

I'm unable to install locust using pip (Mac OS X 10.10.5), this is the output for pip install locustio

It looks like the error is related to the library libev. I suspect that the problem could be solved just by updating the library.

Collecting locustio
  Using cached locustio-0.7.3.tar.gz
Collecting gevent>=1.0.1 (from locustio)
  Using cached gevent-1.0.2.tar.gz
Collecting flask>=0.10.1 (from locustio)
  Using cached Flask-0.10.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): requests>=2.4.1 in /Library/Python/2.7/site-packages (from locustio)
Collecting msgpack-python>=0.4.2 (from locustio)
  Using cached msgpack-python-0.4.6.tar.gz
Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.4.7 in /Library/Python/2.7/site-packages (from gevent>=1.0.1->locustio)
Collecting Werkzeug>=0.7 (from flask>=0.10.1->locustio)
  Using cached Werkzeug-0.10.4-py2.py3-none-any.whl
Collecting Jinja2>=2.4 (from flask>=0.10.1->locustio)
  Using cached Jinja2-2.8-py2.py3-none-any.whl
Collecting itsdangerous>=0.21 (from flask>=0.10.1->locustio)
  Using cached itsdangerous-0.24.tar.gz
Collecting MarkupSafe (from Jinja2>=2.4->flask>=0.10.1->locustio)
  Using cached MarkupSafe-0.23.tar.gz
Installing collected packages: gevent, Werkzeug, MarkupSafe, Jinja2, itsdangerous, flask, msgpack-python, locustio
  Running setup.py install for gevent
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-build-qbhmo1/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-mMrC2u-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.10-intel-2.7
    creating build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/__init__.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/_ssl2.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/_sslgte279.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/_threading.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/backdoor.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/baseserver.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/coros.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/event.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/fileobject.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/greenlet.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/hub.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/local.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/lock.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/monkey.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/os.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/pool.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/pywsgi.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/queue.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/resolver_ares.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/resolver_thread.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/select.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/server.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/socket.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/ssl.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/subprocess.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/thread.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/threading.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/threadpool.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/timeout.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/util.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/win32util.py -> build/lib.macosx-10.10-intel-2.7/gevent
    copying gevent/wsgi.py -> build/lib.macosx-10.10-intel-2.7/gevent
    running build_ext
    Running '/bin/sh /private/var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-build-qbhmo1/gevent/libev/configure > configure-output.txt' in /private/var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-build-qbhmo1/gevent/build/temp.macosx-10.10-intel-2.7/libev
    building 'gevent.core' extension
    creating build/temp.macosx-10.10-intel-2.7/gevent
    cc -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -U__llvm__ -arch x86_64 -arch i386 -pipe -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.10-intel-2.7/libev -Ilibev -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.10-intel-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_->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 'cc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-build-qbhmo1/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-mMrC2u-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/9f/ph_sjc_j6n92mnn4k0pfc6dm0000gn/T/pip-build-qbhmo1/gevent```
@stleon
Copy link

stleon commented Sep 25, 2015

Do you use Python 2?

@danydev
Copy link
Author

danydev commented Sep 25, 2015

/usr/bin/python --version
Python 2.7.10

@danydev
Copy link
Author

danydev commented Sep 26, 2015

Problem solved after installing gevent forcing c99 with the following command CFLAGS='-std=c99' pip install gevent

@danydev danydev closed this as completed Sep 26, 2015
@Kiranmoka
Copy link

use this command sudo CFLAGS='-std=c99' pip install gevent fix this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants