douban / code

[DEPRECATED]Douban CODE

Home Page:http://douban-code.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

python-libmemcached 的问题

defp opened this issue · comments

安装完成后启动会有如下错误:

/python-libmemcached/cmemcached_imp.so: undefined symbol: memcached_touch

log:

(venv)vagrant@precise64:~/code$ gunicorn -w 2 -b 127.0.0.1:5000 app:app
2014-02-18 06:54:13 [10643] [INFO] Starting gunicorn 18.0
2014-02-18 06:54:13 [10643] [INFO] Listening at: http://127.0.0.1:5000 (10643)
2014-02-18 06:54:13 [10643] [INFO] Using worker: sync
2014-02-18 06:54:13 [10648] [INFO] Booting worker with pid: 10648
2014-02-18 06:54:13 [10649] [INFO] Booting worker with pid: 10649
2014-02-18 06:54:13 [10648] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
    return self.load_wsgiapp()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app
    __import__(module)
  File "/home/vagrant/code/app.py", line 5, in <module>
    from web import app as web
  File "/home/vagrant/code/web.py", line 14, in <module>
    from code.libs.auth.check_auth import check_auth
  File "/home/vagrant/code/code/libs/auth/__init__.py", line 5, in <module>
    from code.models.user import User
  File "/home/vagrant/code/code/models/user.py", line 7, in <module>
    from code.libs.store import OrzField, store, IntegrityError, OrzBase
  File "/home/vagrant/code/code/libs/store.py", line 6, in <module>
    from douban.mc import mc_from_config, create_decorators
  File "/home/vagrant/code/venv/src/doubanmc/douban/mc/__init__.py", line 9, in <module>
    import cmemcached
  File "/home/vagrant/code/venv/src/python-libmemcached/cmemcached.py", line 5, in <module>
    from cmemcached_imp import *
ImportError: /home/vagrant/code/venv/src/python-libmemcached/cmemcached_imp.so: undefined symbol: memcached_touch
Traceback (most recent call last):
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
    return self.load_wsgiapp()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app
    __import__(module)
  File "/home/vagrant/code/app.py", line 5, in <module>
    from web import app as web
  File "/home/vagrant/code/web.py", line 14, in <module>
    from code.libs.auth.check_auth import check_auth
  File "/home/vagrant/code/code/libs/auth/__init__.py", line 5, in <module>
    from code.models.user import User
  File "/home/vagrant/code/code/models/user.py", line 7, in <module>
    from code.libs.store import OrzField, store, IntegrityError, OrzBase
  File "/home/vagrant/code/code/libs/store.py", line 6, in <module>
    from douban.mc import mc_from_config, create_decorators
  File "/home/vagrant/code/venv/src/doubanmc/douban/mc/__init__.py", line 9, in <module>
    import cmemcached
  File "/home/vagrant/code/venv/src/python-libmemcached/cmemcached.py", line 5, in <module>
    from cmemcached_imp import *
ImportError: /home/vagrant/code/venv/src/python-libmemcached/cmemcached_imp.so: undefined symbol: memcached_touch
2014-02-18 06:54:13 [10648] [INFO] Worker exiting (pid: 10648)
2014-02-18 06:54:13 [10649] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
    return self.load_wsgiapp()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app
    __import__(module)
  File "/home/vagrant/code/app.py", line 5, in <module>
    from web import app as web
  File "/home/vagrant/code/web.py", line 14, in <module>
    from code.libs.auth.check_auth import check_auth
  File "/home/vagrant/code/code/libs/auth/__init__.py", line 5, in <module>
    from code.models.user import User
  File "/home/vagrant/code/code/models/user.py", line 7, in <module>
    from code.libs.store import OrzField, store, IntegrityError, OrzBase
  File "/home/vagrant/code/code/libs/store.py", line 6, in <module>
    from douban.mc import mc_from_config, create_decorators
  File "/home/vagrant/code/venv/src/doubanmc/douban/mc/__init__.py", line 9, in <module>
    import cmemcached
  File "/home/vagrant/code/venv/src/python-libmemcached/cmemcached.py", line 5, in <module>
    from cmemcached_imp import *
ImportError: /home/vagrant/code/venv/src/python-libmemcached/cmemcached_imp.so: undefined symbol: memcached_touch
Traceback (most recent call last):
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load
    return self.load_wsgiapp()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app
    __import__(module)
  File "/home/vagrant/code/app.py", line 5, in <module>
    from web import app as web
  File "/home/vagrant/code/web.py", line 14, in <module>
    from code.libs.auth.check_auth import check_auth
  File "/home/vagrant/code/code/libs/auth/__init__.py", line 5, in <module>
    from code.models.user import User
  File "/home/vagrant/code/code/models/user.py", line 7, in <module>
    from code.libs.store import OrzField, store, IntegrityError, OrzBase
  File "/home/vagrant/code/code/libs/store.py", line 6, in <module>
    from douban.mc import mc_from_config, create_decorators
  File "/home/vagrant/code/venv/src/doubanmc/douban/mc/__init__.py", line 9, in <module>
    import cmemcached
  File "/home/vagrant/code/venv/src/python-libmemcached/cmemcached.py", line 5, in <module>
    from cmemcached_imp import *
ImportError: /home/vagrant/code/venv/src/python-libmemcached/cmemcached_imp.so: undefined symbol: memcached_touch
2014-02-18 06:54:13 [10649] [INFO] Worker exiting (pid: 10649)
Traceback (most recent call last):
  File "/home/vagrant/code/venv/bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 203, in run
    self.halt(reason=inst.reason, exit_status=inst.exit_status)
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 298, in halt
    self.stop()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 341, in stop
    self.reap_workers()
  File "/home/vagrant/code/venv/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 452, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

@xtao 试过,用的第一个方法装的,这个要在virtualenv的环境下装吗?

@lidashuang 那你的memcached的版本是多少?

@xtao memcached 1.4.13 on ubuntu 12.04 64 位

@lidashuang 你安装libmemcached有问题 请参考我的issue #16

ubuntu 12.04 有这问题,拷了个(ubuntu 13.04)的cmemcached_imp.so就可以了