Closed slepkin closed 8 years ago
When I deploy this repo, with no changes, to a Heroku app, I get a build failure (logs below). This is surprising, since it was meant to be deployed in exactly this way.
-----> Python app detected -----> Installing python-2.7.9 $ pip install -r requirements.txt Collecting sasl (from -r requirements.txt (line 1)) Downloading sasl-0.2.1.tar.gz Collecting psycopg2 (from -r requirements.txt (line 2)) Downloading psycopg2-2.6.1.tar.gz (371kB) Obtaining airflow[postgres,crypto] from git+git://github.com/airbnb/airflow@ba35124d75a3ad23266c324d729e80d5267e161f#egg=airflow[postgres,crypto] (from -r requirements.txt (line 3)) Cloning git://github.com/airbnb/airflow (to ba35124d75a3ad23266c324d729e80d5267e161f) to ./.heroku/src/airflow Could not find a tag or branch 'ba35124d75a3ad23266c324d729e80d5267e161f', assuming commit. Collecting rauth (from -r requirements.txt (line 4)) Downloading rauth-0.7.2.tar.gz Collecting flask-sslify (from -r requirements.txt (line 5)) Downloading Flask-SSLify-0.1.5.tar.gz Collecting six (from sasl->-r requirements.txt (line 1)) Downloading six-1.10.0-py2.py3-none-any.whl Collecting alembic<0.9,>=0.8.0 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading alembic-0.8.6.tar.gz (961kB) Collecting celery<4.0,>=3.1.17 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading celery-3.1.23-py2.py3-none-any.whl (520kB) Collecting chartkick<0.5,>=0.4.2 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading chartkick-0.4.2.tar.gz Collecting dill<0.3,>=0.2.2 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading dill-0.2.5.tgz (60kB) Collecting flask<0.11,>=0.10.1 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Flask-0.10.1.tar.gz (544kB) Collecting flask-admin==1.2.0 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Flask-Admin-1.2.0.tar.gz (790kB) Collecting flask-cache<0.14,>=0.13.1 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Flask-Cache-0.13.1.tar.gz (45kB) Collecting flask-login<0.3,>=0.2.11 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Flask-Login-0.2.11.tar.gz Collecting flower<0.8,>=0.7.3 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading flower-0.7.3.tar.gz (2.5MB) Collecting future<0.16,>=0.15.0 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading future-0.15.2.tar.gz (1.6MB) Collecting gunicorn<20.0,>=19.3.0 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading gunicorn-19.4.5-py2.py3-none-any.whl (112kB) Collecting jinja2<3.0,>=2.7.3 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Jinja2-2.8-py2.py3-none-any.whl (263kB) Collecting markdown<3.0,>=2.5.2 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Markdown-2.6.6.zip (412kB) Collecting pandas<1.0.0,>=0.15.2 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading pandas-0.18.0.tar.gz (7.1MB) Collecting pygments<3.0,>=2.0.1 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Pygments-2.1.3-py2.py3-none-any.whl (755kB) Collecting python-dateutil<3,>=2.3 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201kB) Collecting requests<3,>=2.5.1 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading requests-2.9.1-py2.py3-none-any.whl (501kB) Collecting setproctitle<2,>=1.1.8 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading setproctitle-1.1.9.tar.gz Collecting sqlalchemy<0.10,>=0.9.8 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading SQLAlchemy-0.9.10.tar.gz (4.3MB) Collecting statsd<4.0,>=3.0.1 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading statsd-3.2.1-py2.py3-none-any.whl Collecting thrift<0.10,>=0.9.2 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading thrift-0.9.3.tar.gz Collecting cryptography>=0.9.3 (from airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading cryptography-1.3.1.tar.gz (383kB) Collecting Mako (from alembic<0.9,>=0.8.0->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Mako-1.0.4.tar.gz (574kB) Collecting python-editor>=0.3 (from alembic<0.9,>=0.8.0->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading python-editor-1.0.tar.gz Collecting kombu<3.1,>=3.0.34 (from celery<4.0,>=3.1.17->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading kombu-3.0.35-py2.py3-none-any.whl (240kB) Collecting pytz>dev (from celery<4.0,>=3.1.17->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading pytz-2016.4-py2.py3-none-any.whl (480kB) Collecting billiard<3.4,>=3.3.0.23 (from celery<4.0,>=3.1.17->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading billiard-3.3.0.23.tar.gz (151kB) Collecting Werkzeug>=0.7 (from flask<0.11,>=0.10.1->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading Werkzeug-0.11.9-py2.py3-none-any.whl (306kB) Collecting itsdangerous>=0.21 (from flask<0.11,>=0.10.1->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading itsdangerous-0.24.tar.gz (46kB) Collecting wtforms (from flask-admin==1.2.0->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading WTForms-2.1.zip (553kB) Collecting tornado>=3.2.0 (from flower<0.8,>=0.7.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading tornado-4.3.tar.gz (450kB) Collecting MarkupSafe (from jinja2<3.0,>=2.7.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading MarkupSafe-0.23.tar.gz Collecting numpy>=1.7.0 (from pandas<1.0.0,>=0.15.2->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading numpy-1.11.0-cp27-cp27m-manylinux1_x86_64.whl (15.3MB) Collecting idna>=2.0 (from cryptography>=0.9.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading idna-2.1-py2.py3-none-any.whl (54kB) Collecting pyasn1>=0.1.8 (from cryptography>=0.9.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading pyasn1-0.1.9-py2.py3-none-any.whl Collecting enum34 (from cryptography>=0.9.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading enum34-1.1.4-py2.py3-none-any.whl (61kB) Collecting ipaddress (from cryptography>=0.9.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading ipaddress-1.0.16-py27-none-any.whl Collecting cffi>=1.4.1 (from cryptography>=0.9.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading cffi-1.6.0.tar.gz (397kB) Collecting anyjson>=0.3.3 (from kombu<3.1,>=3.0.34->celery<4.0,>=3.1.17->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading anyjson-0.3.3.tar.gz Collecting amqp<2.0,>=1.4.9 (from kombu<3.1,>=3.0.34->celery<4.0,>=3.1.17->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading amqp-1.4.9-py2.py3-none-any.whl (51kB) Collecting backports.ssl-match-hostname (from tornado>=3.2.0->flower<0.8,>=0.7.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading backports.ssl_match_hostname-3.5.0.1.tar.gz Collecting singledispatch (from tornado>=3.2.0->flower<0.8,>=0.7.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading singledispatch-3.4.0.3-py2.py3-none-any.whl Collecting certifi (from tornado>=3.2.0->flower<0.8,>=0.7.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading certifi-2016.2.28-py2.py3-none-any.whl (366kB) Collecting backports-abc>=0.4 (from tornado>=3.2.0->flower<0.8,>=0.7.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading backports_abc-0.4-py2.py3-none-any.whl Collecting pycparser (from cffi>=1.4.1->cryptography>=0.9.3->airflow[postgres,crypto]->-r requirements.txt (line 3)) Downloading pycparser-2.14.tar.gz (223kB) Installing collected packages: six, sasl, psycopg2, sqlalchemy, MarkupSafe, Mako, python-editor, alembic, anyjson, amqp, kombu, pytz, billiard, celery, chartkick, dill, Werkzeug, jinja2, itsdangerous, flask, wtforms, flask-admin, flask-cache, flask-login, backports.ssl-match-hostname, singledispatch, certifi, backports-abc, tornado, flower, future, gunicorn, markdown, python-dateutil, numpy, pandas, pygments, requests, setproctitle, statsd, thrift, idna, pyasn1, enum34, ipaddress, pycparser, cffi, cryptography, airflow, rauth, flask-sslify Running setup.py install for sasl: started Running setup.py install for sasl: finished with status 'error' Complete output from command /app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-1eO0Xp/sasl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-eDjHFH-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/sasl copying sasl/__init__.py -> build/lib.linux-x86_64-2.7/sasl running egg_info writing requirements to sasl.egg-info/requires.txt writing sasl.egg-info/PKG-INFO writing top-level names to sasl.egg-info/top_level.txt writing dependency_links to sasl.egg-info/dependency_links.txt warning: manifest_maker: standard file '-c' not found reading manifest file 'sasl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'sasl.egg-info/SOURCES.txt' copying sasl/saslwrapper.cpp -> build/lib.linux-x86_64-2.7/sasl copying sasl/saslwrapper.h -> build/lib.linux-x86_64-2.7/sasl copying sasl/saslwrapper.pyx -> build/lib.linux-x86_64-2.7/sasl running build_ext building 'sasl.saslwrapper' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/sasl gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Isasl -I/app/.heroku/python/include/python2.7 -c sasl/saslwrapper.cpp -o build/temp.linux-x86_64-2.7/sasl/saslwrapper.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] In file included from sasl/saslwrapper.cpp:254:0: sasl/saslwrapper.h:22:23: fatal error: sasl/sasl.h: No such file or directory #include <sasl/sasl.h> ^ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-1eO0Xp/sasl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-eDjHFH-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-1eO0Xp/sasl/ ! Push rejected, failed to compile Python app
This is caused when you try to deploy the app the typical way (directly from a GitHub repo) instead of via heroku docker:release.
heroku docker:release
When I deploy this repo, with no changes, to a Heroku app, I get a build failure (logs below). This is surprising, since it was meant to be deployed in exactly this way.