GEVENT Установить на X86_64 Не удается: «Неопределенный символ: EVHTTP_ACPECT_SOCET»

StackOverflow https://stackoverflow.com/questions/2849964

  •  27-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь установить завещание на свежем ec2 centos 5.3 64-битный система.

Поскольку версия LibEvent, доступная в yum, была слишком старой для другого пакета (Beanstalkdd), которую я составлен / установлен libevent-1.4.13-stable вручную, используя следующую команду:

./configure --prefix=/usr && make && make install

Это вывод от установки Gevent:

[gevent-0.12.2]# python setup.py build --libevent /usr/lib
Using libevent 1.4.13-stable: libevent.so
running build
running build_py
running build_ext
Linking /usr/src/gevent-0.12.2/build/lib.linux-x86_64-2.6/gevent/core.so to 
    /usr/src/gevent-0.12.2/gevent/core.so
[gevent-0.12.2]# cd /path/to/my/project
[project]# python myscript.py
Traceback (most recent call last):
  File "myscript.py", line 9, in <module>
    from gevent.wsgi import WSGIServer as GeventServer
  File "/usr/lib/python2.6/site-packages/gevent/__init__.py", line 32, in <module>
    from gevent.core import reinit
ImportError: /usr/lib/python2.6/site-packages/gevent/core.so: undefined symbol: evhttp_accept_socket

Я выполнил точно такие же шаги на местном экземпляре VirtualBox (32-разрядной), и я не вижу ошибок.

Как бы я это исправить?

Это было полезно?

Решение

Простое исправление было клонировать Git Repository, переключиться на wip-all ветвь и беги python setup.py build_libevent build install Что хватает и строит либелизм статически против Gevent:

# git clone http://github.com/schmir/gevent.git
# cd gevent
# git branch -a
* upstream
  origin/HEAD
  origin/close-socket-cancel-event
  origin/pywsgi-without-basehttpserver
  origin/upstream
  origin/wip-all
  origin/wip-setup-config
# git checkout origin/wip-all
# python setup.py build_libevent build install

Больше информации здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top