0

I'm currently using uwsgi + gevent + bottle on Heroku, python 2.7.3. It used to work very well. Since heroku introduced the 'runtime.txt' feature, I'm experiencing uWSGI compilation problems every time I push my build to heroku. Does anyone know of a workaround?

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
4

1 に答える 1

1

libldap のインストールが壊れているようです (sasl シンボルがありません)。buildconf/base.ini を編集して、ldap を検出しないように uWSGI を強制的に再構築できます。

于 2013-01-13T05:13:24.170 に答える