I’m trying to run a computer vision server on google coral through balena. When I try to install some of the dependencies, namely NumPy, I get this long error:
[main] Step 4/13 : RUN sudo pip3 install numpy
[main] ---> Running in c64cb089792e
[main] Collecting numpy
[main] Downloading numpy-1.18.5.zip (5.4 MB)
[main] Installing build dependencies: started
[main] Installing build dependencies: finished with status 'done'
[main] Getting requirements to build wheel: started
[main] Getting requirements to build wheel: finished with status 'done'
[main] Preparing wheel metadata: started
[main] Preparing wheel metadata: finished with status 'error'
[main] ERROR: Command errored out with exit status 1:
[main] command: /usr/local/bin/python3.5 /usr/local/lib/python3.5/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp43_oejbq
[main] cwd: /tmp/pip-install-fywn2bkh/numpy
[main] Complete output (222 lines):
[main] Processing numpy/random/_bounded_integers.pxd.in
[main] Processing numpy/random/_generator.pyx
[main] Processing numpy/random/_common.pyx
[main] Processing numpy/random/_mt19937.pyx
[main] Processing numpy/random/mtrand.pyx
[main] Processing numpy/random/_bit_generator.pyx
[main] Processing numpy/random/_philox.pyx
[main] Processing numpy/random/_pcg64.pyx
[main] Processing numpy/random/_sfc64.pyx
[main] Processing numpy/random/_bounded_integers.pyx.in
[main] Cythonizing sources
[main] blas_opt_info:
[main] blas_mkl_info:
[main] customize UnixCCompiler
[main] libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] blis_info:
[main] libraries blis not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] openblas_info:
[main] libraries openblas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] atlas_3_10_blas_threads_info:
[main] Setting PTATLAS=ATLAS
[main] libraries tatlas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] atlas_3_10_blas_info:
[main] libraries satlas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] atlas_blas_threads_info:
[main] Setting PTATLAS=ATLAS
[main] libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] atlas_blas_info:
[main] libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] accelerate_info:
[main] NOT AVAILABLE
[main] blas_info:
[main] libraries blas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] blas_src_info:
[main] NOT AVAILABLE
[main] NOT AVAILABLE
[main] non-existing path in 'numpy/distutils': 'site.cfg'
[main] lapack_opt_info:
[main] lapack_mkl_info:
[main] libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] openblas_lapack_info:
[main] libraries openblas not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] openblas_clapack_info:
[main] libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] flame_info:
[main] libraries flame not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] atlas_3_10_threads_info:
[main] Setting PTATLAS=ATLAS
[main] libraries lapack_atlas not found in /usr/local/lib
[main] libraries tatlas,tatlas not found in /usr/local/lib
[main] libraries lapack_atlas not found in /usr/lib
[main] libraries tatlas,tatlas not found in /usr/lib
[main] <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
[main] NOT AVAILABLE
[main] atlas_3_10_info:
[main] libraries lapack_atlas not found in /usr/local/lib
[main] libraries satlas,satlas not found in /usr/local/lib
[main] libraries lapack_atlas not found in /usr/lib
[main] libraries satlas,satlas not found in /usr/lib
[main] <class 'numpy.distutils.system_info.atlas_3_10_info'>
[main] NOT AVAILABLE
[main] atlas_threads_info:
[main] Setting PTATLAS=ATLAS
[main] libraries lapack_atlas not found in /usr/local/lib
[main] libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
[main] libraries lapack_atlas not found in /usr/lib
[main] libraries ptf77blas,ptcblas,atlas not found in /usr/lib
[main] <class 'numpy.distutils.system_info.atlas_threads_info'>
[main] NOT AVAILABLE
[main] atlas_info:
[main] libraries lapack_atlas not found in /usr/local/lib
[main] libraries f77blas,cblas,atlas not found in /usr/local/lib
[main] libraries lapack_atlas not found in /usr/lib
[main] libraries f77blas,cblas,atlas not found in /usr/lib
[main] <class 'numpy.distutils.system_info.atlas_info'>
[main] NOT AVAILABLE
[main] lapack_info:
[main] libraries lapack not found in ['/usr/local/lib', '/usr/lib']
[main] NOT AVAILABLE
[main] lapack_src_info:
[main] NOT AVAILABLE
[main] NOT AVAILABLE
[main] running dist_info
[main] running build_src
[main] build_src
[main] building py_modules sources
[main] creating build
[main] creating build/src.linux-aarch64-3.5
[main] creating build/src.linux-aarch64-3.5/numpy
[main] creating build/src.linux-aarch64-3.5/numpy/distutils
[main] building library "npymath" sources
[main] Could not locate executable gfortran
[main] Could not locate executable f95
[main] Could not locate executable ifort
[main] Could not locate executable ifc
[main] Could not locate executable lf95
[main] Could not locate executable pgfortran
[main] Could not locate executable f90
[main] Could not locate executable f77
[main] Could not locate executable fort
[main] Could not locate executable efort
[main] Could not locate executable efc
[main] Could not locate executable g77
[main] Could not locate executable g95
[main] Could not locate executable pathf95
[main] Could not locate executable nagfor
[main] don't know how to compile Fortran code on platform 'posix'
[main] Running from numpy source directory.
[main] setup.py:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
[main] run_build = parse_setuppy_commands()
[main] /tmp/pip-install-fywn2bkh/numpy/numpy/distutils/system_info.py:1896: UserWarning:
[main] Optimized (vendor) Blas libraries are not found.
[main] Falls back to netlib Blas library which has worse performance.
[main] A better performance should be easily gained by switching
[main] Blas library.
[main] if self._calc_info(blas):
[main] /tmp/pip-install-fywn2bkh/numpy/numpy/distutils/system_info.py:1896: UserWarning:
[main] Blas (http://www.netlib.org/blas/) libraries not found.
[main] Directories to search for the libraries can be specified in the
[main] numpy/distutils/site.cfg file (section [blas]) or by setting
[main] the BLAS environment variable.
[main] if self._calc_info(blas):
[main] /tmp/pip-install-fywn2bkh/numpy/numpy/distutils/system_info.py:1896: UserWarning:
[main] Blas (http://www.netlib.org/blas/) sources not found.
[main] Directories to search for the sources can be specified in the
[main] numpy/distutils/site.cfg file (section [blas_src]) or by setting
[main] the BLAS_SRC environment variable.
[main] if self._calc_info(blas):
[main] /tmp/pip-install-fywn2bkh/numpy/numpy/distutils/system_info.py:1730: UserWarning:
[main] Lapack (http://www.netlib.org/lapack/) libraries not found.
[main] Directories to search for the libraries can be specified in the
[main] numpy/distutils/site.cfg file (section [lapack]) or by setting
[main] the LAPACK environment variable.
[main] return getattr(self, '_calc_info_{}'.format(name))()
[main] /tmp/pip-install-fywn2bkh/numpy/numpy/distutils/system_info.py:1730: UserWarning:
[main] Lapack (http://www.netlib.org/lapack/) sources not found.
[main] Directories to search for the sources can be specified in the
[main] numpy/distutils/site.cfg file (section [lapack_src]) or by setting
[main] the LAPACK_SRC environment variable.
[main] return getattr(self, '_calc_info_{}'.format(name))()
[main] /usr/local/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'define_macros'
[main] warnings.warn(msg)
[main] Traceback (most recent call last):
[main] File "/usr/local/lib/python3.5/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
[main] main()
[main] File "/usr/local/lib/python3.5/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
[main] json_out['return_val'] = hook(**hook_input['kwargs'])
[main] File "/usr/local/lib/python3.5/site-packages/pip/_vendor/pep517/_in_process.py", line 133, in prepare_metadata_for_build_wheel
[main] return hook(metadata_directory, config_settings)
[main] File "/tmp/pip-build-env-6ujbii8j/overlay/lib/python3.5/site-packages/setuptools/build_meta.py", line 157, in prepare_metadata_for_build_wheel
[main] self.run_setup()
[main] File "/tmp/pip-build-env-6ujbii8j/overlay/lib/python3.5/site-packages/setuptools/build_meta.py", line 249, in run_setup
[main] self).run_setup(setup_script=setup_script)
[main] File "/tmp/pip-build-env-6ujbii8j/overlay/lib/python3.5/site-packages/setuptools/build_meta.py", line 142, in run_setup
[main] exec(compile(code, __file__, 'exec'), locals())
[main] File "setup.py", line 488, in <module>
[main] setup_package()
[main] File "setup.py", line 480, in setup_package
[main] setup(**metadata)
[main] File "/tmp/pip-install-fywn2bkh/numpy/numpy/distutils/core.py", line 171, in setup
[main] return old_setup(**new_attr)
[main] File "/tmp/pip-build-env-6ujbii8j/overlay/lib/python3.5/site-packages/setuptools/__init__.py", line 161, in setup
[main] return distutils.core.setup(**attrs)
[main] File "/usr/local/lib/python3.5/distutils/core.py", line 148, in setup
[main] dist.run_commands()
[main] File "/usr/local/lib/python3.5/distutils/dist.py", line 955, in run_commands
[main] self.run_command(cmd)
[main] File "/usr/local/lib/python3.5/distutils/dist.py", line 974, in run_command
[main] cmd_obj.run()
[main] File "/tmp/pip-build-env-6ujbii8j/overlay/lib/python3.5/site-packages/setuptools/command/dist_info.py", line 31, in run
[main] egg_info.run()
[main] File "/tmp/pip-install-fywn2bkh/numpy/numpy/distutils/command/egg_info.py", line 26, in run
[main] self.run_command("build_src")
[main] File "/usr/local/lib/python3.5/distutils/cmd.py", line 313, in run_command
[main] self.distribution.run_command(command)
[main] File "/usr/local/lib/python3.5/distutils/dist.py", line 974, in run_command
[main] cmd_obj.run()
[main] File "/tmp/pip-install-fywn2bkh/numpy/numpy/distutils/command/build_src.py", line 146, in run
[main] self.build_sources()
[main] File "/tmp/pip-install-fywn2bkh/numpy/numpy/distutils/command/build_src.py", line 157, in build_sources
[main] self.build_library_sources(*libname_info)
[main] File "/tmp/pip-install-fywn2bkh/numpy/numpy/distutils/command/build_src.py", line 290, in build_library_sources
[main] sources = self.generate_sources(sources, (lib_name, build_info))
[main] File "/tmp/pip-install-fywn2bkh/numpy/numpy/distutils/command/build_src.py", line 380, in generate_sources
[main] source = func(extension, build_dir)
[main] File "numpy/core/setup.py", line 661, in get_mathlib_info
[main] raise RuntimeError("Broken toolchain: cannot link a simple C program")
[main] RuntimeError: Broken toolchain: cannot link a simple C program
[main] ----------------------------------------
[main]
[main] ERROR: Command errored out with exit status 1: /usr/local/bin/python3.5 /usr/local/lib/python3.5/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp43_oejbq Check the logs for full command output.
Here is my dockerfile:
# base-image for python on any machine using a template variable,
# see more about dockerfile templates here: https://www.balena.io/docs/learn/develop/dockerfile/
FROM balenalib/coral-dev-python:3-stretch-run
# Set our working directory
WORKDIR /usr/src/app
RUN pip3 install --upgrade pip
RUN sudo pip3 install numpy
RUN sudo pip3 install Pillow>=4.0.0
RUN sudo pip3 install pygobject>=3.22.0
RUN sudo pip3 install protobuf>=3.0.0
RUN sudo pip3 install edgetpu
RUN sudo pip3 install littleutils
RUN sudo pip3 install requests
# This will copy all files in our root to the working directory in the container
COPY . ./
# Enable udevd so that plugged dynamic hardware devices show up in our container.
ENV UDEV=1
CMD ["python3","-m","Reef_Vision/detect_server.py"]
Any help would be greatly appreciated, I’m new to using containers.