anoved / OctoPrint-EmailNotifier

Receive email notifications when OctoPrint jobs are complete. Currently broken. Please fork and fix!
GNU Affero General Public License v3.0
16 stars 35 forks source link

Error during setup on OctoPrint 1.3 #24

Open Rus5 opened 7 years ago

Rus5 commented 7 years ago

I was not able to install plugin on updated OctoPrint v 1.3

Part of error log is the following

Building wheels for collected packages: cryptography, cffi Running setup.py bdist_wheel for cryptography ... error Complete output from command /home/octopi/OctoPrint/venv/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-Mc8uVm/cryptography/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmpeItDg2pip-wheel- --python-tag cp27: c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

include

               ^

compilation terminated. Traceback (most recent call last): File "", line 1, in File "/tmp/pip-build-Mc8uVm/cryptography/setup.py", line 334, in **keywords_with_side_effects(sys.argv) File "/usr/lib/python2.7/distutils/core.py", line 111, in setup _setup_distribution = dist = klass(attrs) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/dist.py", line 316, in init self.fetch_build_eggs(attrs['setup_requires']) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/dist.py", line 371, in fetch_build_eggs replace_conflicting=True, File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/init.py", line 846, in resolve dist = best[req.key] = env.best_match(req, ws, installer) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/init.py", line 1118, in best_match return self.obtain(req, installer) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/init.py", line 1130, in obtain return installer(requirement) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/dist.py", line 439, in fetch_build_egg return cmd.easy_install(req) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 665, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 695, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 876, in install_eggs return self.build_and_install(setup_script, setup_base) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1115, in build_and_install self.run_setup(setup_script, setup_base, args) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1103, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1


Failed building wheel for cryptography Running setup.py clean for cryptography Complete output from command /home/octopi/OctoPrint/venv/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-Mc8uVm/cryptography/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" clean --all: c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

include

               ^

compilation terminated. Traceback (most recent call last): File "", line 1, in File "/tmp/pip-build-Mc8uVm/cryptography/setup.py", line 334, in **keywords_with_side_effects(sys.argv) File "/usr/lib/python2.7/distutils/core.py", line 111, in setup _setup_distribution = dist = klass(attrs) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/dist.py", line 316, in init self.fetch_build_eggs(attrs['setup_requires']) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/dist.py", line 371, in fetch_build_eggs replace_conflicting=True, File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/init.py", line 846, in resolve dist = best[req.key] = env.best_match(req, ws, installer) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/init.py", line 1118, in best_match return self.obtain(req, installer) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/init.py", line 1130, in obtain return installer(requirement) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/dist.py", line 439, in fetch_build_egg return cmd.easy_install(req) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 665, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 695, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 876, in install_eggs return self.build_and_install(setup_script, setup_base) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1115, in build_and_install self.run_setup(setup_script, setup_base, args) File "/home/octopi/OctoPrint/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1103, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1


Failed cleaning build dir for cryptography Running setup.py bdist_wheel for cffi ... error Complete output from command /home/octopi/OctoPrint/venv/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-Mc8uVm/cffi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmp0G9zh5pip-wheel- --python-tag cp27: running bdist_wheel running build running build_py creating build creating build/lib.linux-armv7l-2.7 creating build/lib.linux-armv7l-2.7/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/init.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/lock.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/api.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/model.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-2.7/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-2.7/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-2.7/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-2.7 creating build/temp.linux-armv7l-2.7/c arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-armv7l-2.7/c/_cffi_backend.o c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

include

               ^

compilation terminated. error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1


Failed building wheel for cffi Running setup.py clean for cffi Failed to build cryptography cffi Installing collected packages: cffi, cryptography, secretstorage, keyring, yagmail, keyrings.alt, OctoPrint-EmailNotifier Running setup.py install for cffi ... error Complete output from command /home/octopi/OctoPrint/venv/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-Mc8uVm/cffi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-N8wWs3-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/octopi/OctoPrint/venv/include/site/python2.7/cffi: running install running build running build_py creating build creating build/lib.linux-armv7l-2.7 creating build/lib.linux-armv7l-2.7/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/init.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/lock.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/api.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/model.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-2.7/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-2.7/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-2.7/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-2.7/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-2.7 creating build/temp.linux-armv7l-2.7/c arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-armv7l-2.7/c/_cffi_backend.o c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

include

                 ^
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

----------------------------------------

Command "/home/octopi/OctoPrint/venv/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-Mc8uVm/cffi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-N8wWs3-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/octopi/OctoPrint/venv/include/site/python2.7/cffi" failed with error code 1 in /tmp/pip-build-Mc8uVm/cffi/

anoved commented 7 years ago

Thanks for the report. I'm just getting back in the swing of things debugging this and need some help understanding how this attempted installation was initiated. Most of the errors I see in this report are related to packages (cffi and cryptography) not explicitly required by this plugin. I presume they are indirect prerequisites of yagmail or keyring, but it's not clear.

Installing collected packages: cffi, cryptography, secretstorage, keyring, yagmail, keyrings.alt, OctoPrint-EmailNotifier

Can you provide a little more information about the kind of system you're working with (Raspbian?) and exactly how you tried installing it? My first step is to determine how the problematic packages are related to EmailNotifier and at what point in the installation process they were collected. Thanks for your help.

anoved commented 7 years ago

This does look like the same issue reported in #22:

Command "/home/pi/OctoPrint/venv/bin/python2 -u -c "import setuptools, tokenize;file='/tmp/pip-build-tnHXkv/cffi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-9eqCPh-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/OctoPrint/venv/include/site/python2.7/cffi" failed with error code 1 in /tmp/pip-build-tnHXkv/cffi/

anoved commented 7 years ago

This also looks like the issue reported in #20.

I'm guessing the problem may be related to differences between OctoPi systems (which is what I use) and OctoPrint systems installed by hand (as per this guide). Perhaps there are permissions or pre-installed package differences that account for difficulties in one case but not the other.

Can anyone corroborate this theory?