heroku上的uwsgi无法编译

时间:2013-01-13 04:59:46

标签: python heroku uwsgi

我目前正在Heroku上使用uwsgi + gevent + bottle,python 2.7.3。它曾经很好地工作。由于heroku引入了'runtime.txt'功能,每次将构建推送到heroku时,我都会遇到uWSGI编译问题。有没有人知道一种解决方法?

Counting objects: 2717, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1127/1127), done.
Writing objects: 100% (2717/2717), 462.10 KiB | 144 KiB/s, done.
Total 2717 (delta 2008), reused 2073 (delta 1572)
-----> Python app detected
-----> Preparing Python runtime (python-2.7.3)

[...]

    /usr/local/lib/libpython2.7.a(posixmodule.o): In function `posix_tmpnam':

   /tmp/Python-2.7.2/./Modules/posixmodule.c:7370: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'

   /usr/local/lib/libpython2.7.a(posixmodule.o): In function `posix_tempnam':

   /tmp/Python-2.7.2/./Modules/posixmodule.c:7317: warning: the use of `tempnam' is dangerous, better use `mkstemp'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_global_listmech@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_set_mutex@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_encode@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_client_start@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_client_init@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_errdetail@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_version@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_errstring@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_dispose@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_setprop@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_getprop@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_decode@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_client_step@SASL2'

   /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libldap.so: undefined reference to `sasl_client_new@SASL2'

   *** error linking uWSGI ***
   collect2: ld returned 1 exit status

   ----------------------------------------
   Command /app/.heroku/python/bin/python -c "import setuptools;__file__='/app/build/uWSGI/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-N4yIW1-record/install-record.txt failed with error code 1 in /app/build/uWSGI

1 个答案:

答案 0 :(得分:1)

看起来它们的libldap安装已经破坏(它缺少sasl符号)。您可以重建uWSGI,强制它不检测ldap,编辑buildconf / base.ini