SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.03k stars 1.23k forks source link

homeassistant fails to build (wheels for netifaces, pyephem, and psutil failing) #2522

Closed joshlawless closed 7 years ago

joshlawless commented 7 years ago

So I followed the instructions for compiling on the home page to the best of my ability. I installed Docker for Mac, downloaded the spksrc docker container, cloned the spksrc repository, and ran the docker container with the indicated command (docker run -it -v ~/spksrc:/spksrc synocommunity/spksrc /bin/bash).

I navigated to /spksrc/spk/homeassistant/ and started a make arch-avoton-5.2. After about 20 minutes, it stopped with a ffi.h not found error: c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory compilation terminated.

Some googling turned up the solution to run make in the /spksrc/native/python directory - while this didn't work (as I learned another 20 minutes later), running make in /spksrc/native/python3 did get past the ffi.h error.

Unfortunately, after about an hour of compiling, I ran into the following errors:

  building 'netifaces' extension
  /spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -fPIC -DNETIFACES_VERSION=0.10.5 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python3.4m -c netifaces.c -o build/temp.linux-x86_64-3.4/netifaces.o
  netifaces.c:1:20: fatal error: Python.h: No such file or directory
  compilation terminated.
  error: command '/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for netifaces
  Running setup.py clean for netifaces
  Running setup.py bdist_wheel for VarEvents ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for pyephem ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/spksrc/spk/homeassistant/work-avoton-5.2/wheelbuild/pyephem/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/tmp_w1gj_p_pip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.4
  creating build/lib.linux-x86_64-3.4/ephem
  copying ephem/__init__.py -> build/lib.linux-x86_64-3.4/ephem
  copying ephem/cities.py -> build/lib.linux-x86_64-3.4/ephem
  copying ephem/stars.py -> build/lib.linux-x86_64-3.4/ephem
  creating build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/__init__.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_angles.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_bodies.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_cities.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_constants.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_dates.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_github_issues.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_jpl.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_launchpad_236872.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_launchpad_244811.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_locales.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_observers.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_rst.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_satellite.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_stars.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_usno.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_usno_equinoxes.py -> build/lib.linux-x86_64-3.4/ephem/tests
  creating build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/angle.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/catalogs.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/CHANGELOG.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/coordinates.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/date.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/examples.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/faq.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/index.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/newton.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/quick.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/radec.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/reference.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/rise-set.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/tutorial.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  creating build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/europa.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/hyperion.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/jupiter.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/mars.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/neptune.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/oberon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/phobos.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/saturn.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/uranus.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  creating build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_deneb.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_jupiter.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_sun.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/apptopo_deneb.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/apptopo_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/apptopo_sun.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/astrom_antares.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/astrom_mercury.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/astrom_neptune.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/moon_phases.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/riset_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/riset_sun.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/risettran_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/risettran_rigel.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  running build_ext
  building 'ephem._libastro' extension
  creating build/temp.linux-x86_64-3.4
  creating build/temp.linux-x86_64-3.4/extensions
  creating build/temp.linux-x86_64-3.4/libastro-3.7.6
  creating build/temp.linux-x86_64-3.4/extensions/data
  /spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -fPIC -Ilibastro-3.7.6 -I/usr/include/python3.4m -c extensions/_libastro.c -o build/temp.linux-x86_64-3.4/extensions/_libastro.o
  extensions/_libastro.c:3:20: fatal error: Python.h: No such file or directory
  compilation terminated.
  error: command '/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pyephem
  Running setup.py clean for pyephem
  Running setup.py bdist_wheel for phue ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for python-libnmap ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for python-nest ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for pydispatcher ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for PyISY ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for psutil ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/spksrc/spk/homeassistant/work-avoton-5.2/wheelbuild/psutil/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/tmpw1f0wxrwpip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.4
  creating build/lib.linux-x86_64-3.4/psutil
  copying psutil/__init__.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_common.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_compat.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_psbsd.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_pslinux.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_psosx.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_psposix.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_pssunos.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_pswindows.py -> build/lib.linux-x86_64-3.4/psutil
  creating build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/__init__.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/runner.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_bsd.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_linux.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_memory_leaks.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_misc.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_osx.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_posix.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_process.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_sunos.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_system.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_windows.py -> build/lib.linux-x86_64-3.4/psutil/tests
  running build_ext
  building 'psutil._psutil_linux' extension
  creating build/temp.linux-x86_64-3.4
  creating build/temp.linux-x86_64-3.4/psutil
  /spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=500 -DPSUTIL_LINUX=1 -I/usr/include/python3.4m -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-3.4/psutil/_psutil_linux.o
  psutil/_psutil_linux.c:12:20: fatal error: Python.h: No such file or directory
  compilation terminated.
  error: command '/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for psutil
  Running setup.py clean for psutil
  Running setup.py bdist_wheel for python-pushover ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for transmissionrpc ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
Successfully built websocket-client VarEvents phue python-libnmap python-nest pydispatcher PyISY python-pushover transmissionrpc
Failed to build netifaces pyephem psutil
ERROR: Failed to build one or more wheels
../../mk/spksrc.wheel.mk:36: recipe for target 'wheel_target' failed
make[1]: *** [wheel_target] Error 1
make[1]: Leaving directory '/spksrc/spk/homeassistant'
../../mk/spksrc.spk.mk:416: recipe for target 'arch-avoton-5.2' failed
make: [arch-avoton-5.2] Error 2 (ignored)

Google would suggest that having python-dev installed is necessary to get past this, but I don't know how to get that done (apt-get install python-dev indicates that it's already installed and up-to-date). I'd be grateful for any insight on how to get past this next error.

joshlawless commented 7 years ago

I've since tried, iteratively:

apt-get update
apt-get upgrade
apt-get install python-dev
apt-get install python3-dev
apt-get install python3.4-dev
apt-get install python-all-dev

which eventually got me slightly farther:

  building 'netifaces' extension
  /spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -fPIC -DNETIFACES_VERSION=0.10.5 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python3.4m -c netifaces.c -o build/temp.linux-x86_64-3.4/netifaces.o
  In file included from /usr/include/python3.4m/Python.h:8:0,
                   from netifaces.c:1:
  /usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: No such file or directory
  compilation terminated.
  error: command '/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for netifaces
  Running setup.py clean for netifaces
  Running setup.py bdist_wheel for VarEvents ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for pyephem ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/spksrc/spk/homeassistant/work-avoton-5.2/wheelbuild/pyephem/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/tmpcg9s5uhspip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.4
  creating build/lib.linux-x86_64-3.4/ephem
  copying ephem/__init__.py -> build/lib.linux-x86_64-3.4/ephem
  copying ephem/cities.py -> build/lib.linux-x86_64-3.4/ephem
  copying ephem/stars.py -> build/lib.linux-x86_64-3.4/ephem
  creating build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/__init__.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_angles.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_bodies.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_cities.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_constants.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_dates.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_github_issues.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_jpl.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_launchpad_236872.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_launchpad_244811.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_locales.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_observers.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_rst.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_satellite.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_stars.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_usno.py -> build/lib.linux-x86_64-3.4/ephem/tests
  copying ephem/tests/test_usno_equinoxes.py -> build/lib.linux-x86_64-3.4/ephem/tests
  creating build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/angle.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/catalogs.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/CHANGELOG.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/coordinates.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/date.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/examples.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/faq.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/index.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/newton.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/quick.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/radec.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/reference.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/rise-set.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  copying ephem/doc/tutorial.rst -> build/lib.linux-x86_64-3.4/ephem/doc
  creating build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/europa.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/hyperion.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/jupiter.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/mars.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/neptune.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/oberon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/phobos.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/saturn.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  copying ephem/tests/jpl/uranus.txt -> build/lib.linux-x86_64-3.4/ephem/tests/jpl
  creating build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_deneb.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_jupiter.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/appgeo_sun.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/apptopo_deneb.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/apptopo_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/apptopo_sun.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/astrom_antares.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/astrom_mercury.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/astrom_neptune.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/moon_phases.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/riset_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/riset_sun.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/risettran_moon.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  copying ephem/tests/usno/risettran_rigel.txt -> build/lib.linux-x86_64-3.4/ephem/tests/usno
  running build_ext
  building 'ephem._libastro' extension
  creating build/temp.linux-x86_64-3.4
  creating build/temp.linux-x86_64-3.4/extensions
  creating build/temp.linux-x86_64-3.4/libastro-3.7.6
  creating build/temp.linux-x86_64-3.4/extensions/data
  /spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -fPIC -Ilibastro-3.7.6 -I/usr/include/python3.4m -c extensions/_libastro.c -o build/temp.linux-x86_64-3.4/extensions/_libastro.o
  In file included from /usr/include/python3.4m/Python.h:8:0,
                   from extensions/_libastro.c:3:
  /usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: No such file or directory
  compilation terminated.
  error: command '/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pyephem
  Running setup.py clean for pyephem
  Running setup.py bdist_wheel for phue ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for python-libnmap ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for python-nest ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for pydispatcher ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for PyISY ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for psutil ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/spksrc/spk/homeassistant/work-avoton-5.2/wheelbuild/psutil/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/tmp89bk5_jqpip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.4
  creating build/lib.linux-x86_64-3.4/psutil
  copying psutil/__init__.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_common.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_compat.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_psbsd.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_pslinux.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_psosx.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_psposix.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_pssunos.py -> build/lib.linux-x86_64-3.4/psutil
  copying psutil/_pswindows.py -> build/lib.linux-x86_64-3.4/psutil
  creating build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/__init__.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/runner.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_bsd.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_linux.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_memory_leaks.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_misc.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_osx.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_posix.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_process.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_sunos.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_system.py -> build/lib.linux-x86_64-3.4/psutil/tests
  copying psutil/tests/test_windows.py -> build/lib.linux-x86_64-3.4/psutil/tests
  running build_ext
  building 'psutil._psutil_linux' extension
  creating build/temp.linux-x86_64-3.4
  creating build/temp.linux-x86_64-3.4/psutil
  /spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -I/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/homeassistant/work-avoton-5.2/install//usr/local/homeassistant/include -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=500 -DPSUTIL_LINUX=1 -I/usr/include/python3.4m -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-3.4/psutil/_psutil_linux.o
  In file included from /usr/include/python3.4m/Python.h:8:0,
                   from psutil/_psutil_linux.c:12:
  /usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: No such file or directory
  compilation terminated.
  error: command '/spksrc/toolchains/syno-avoton-5.2/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for psutil
  Running setup.py clean for psutil
  Running setup.py bdist_wheel for python-pushover ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
  Running setup.py bdist_wheel for transmissionrpc ... done
  Stored in directory: /spksrc/spk/homeassistant/work-avoton-5.2/wheelhouse
Successfully built websocket-client VarEvents phue python-libnmap python-nest pydispatcher PyISY python-pushover transmissionrpc
Failed to build netifaces pyephem psutil
ERROR: Failed to build one or more wheels
../../mk/spksrc.wheel.mk:36: recipe for target 'wheel_target' failed
make[1]: *** [wheel_target] Error 1
make[1]: Leaving directory '/spksrc/spk/homeassistant'
../../mk/spksrc.spk.mk:416: recipe for target 'arch-avoton-5.2' failed
make: [arch-avoton-5.2] Error 2 (ignored)
Dr-Bean commented 7 years ago

https://github.com/SynoCommunity/spksrc/issues/1939#issuecomment-157308155 is the cause for this particular error. https://github.com/SynoCommunity/spksrc/issues/2329, https://github.com/SynoCommunity/spksrc/issues/1981 and even https://github.com/SynoCommunity/spksrc/commit/8b42131bcab7c95e83c66a4c5f827a6e578b17c6 are related.

joshlawless commented 7 years ago

Thank you @Dr-Bean for your comment! Reading through the linked tickets, I'm not 100% sure which approach I should take to address the issue for compiling this pkg. Do you recommend editing the Makefile for the /spksrc/cross/uwsgi to specify the most recent version (2.0.14)? Or do you recommend editing the Makefile in the /spksrc/native/python3 directory with the code WHEEL="uwsgi==2.0.12" based on the current version specified in /spksrc/cross/uwsgi ? (Also, if the latter, is that code correct, or were the open and close carets around the version number necessary?)

joshlawless commented 7 years ago

A closer reading of the other tickets leads me to think that it is not uwsgi in particular that I have to worry about, but those packages for which wheels have failed to build.

I'm happy to report that I got homeassistant to build. I'm not sure if any of these steps were unnecessary, but I'm repeating them here for others' benefit:

I edited the Makefiles for each of psutil, pyephem and netifaces to specify the current version number (which I was able to determine by evaluating what version was being downloaded when the wheels were being built). For psutil, it was necessary to not only change the version number, but also the format from tar.gz to zip.

I performed a make clean and a make in each of /spksrc/native/python and /spksrc/native/python3

I performed a make clean and then make arch-avoton-5.2 in /spksrc/spk/homeassistant

NB, it was necessary to also have already done apt-get update apt-get install python3-dev to get past the issue in my first post (missing ffi.h).