× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [24 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-3.8
copying pysassc.py -> build/lib.linux-aarch64-3.8
copying sass.py -> build/lib.linux-aarch64-3.8
copying sassc.py -> build/lib.linux-aarch64-3.8
copying sasstests.py -> build/lib.linux-aarch64-3.8
creating build/lib.linux-aarch64-3.8/sassutils
copying sassutils/__init__.py -> build/lib.linux-aarch64-3.8/sassutils
copying sassutils/_compat.py -> build/lib.linux-aarch64-3.8/sassutils
copying sassutils/builder.py -> build/lib.linux-aarch64-3.8/sassutils
copying sassutils/distutils.py -> build/lib.linux-aarch64-3.8/sassutils
copying sassutils/wsgi.py -> build/lib.linux-aarch64-3.8/sassutils
running build_ext
building '_sass' extension
creating build/temp.linux-aarch64-3.8
creating build/temp.linux-aarch64-3.8/libsass
creating build/temp.linux-aarch64-3.8/libsass/src
creating build/temp.linux-aarch64-3.8/libsass/src/memory
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPy_LIMITED_API -I./libsass/include -I/usr/local/include/python3.8 -c _sass.c -o build/temp.linux-aarch64-3.8/_sass.o -fPIC -std=gnu++0x -Wall -Wno-parentheses -Werror=switch -DLIBSASS_VERSION="3.6.5"
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for libsass
Problem seems to be related to gcc, however this is installed.
# gcc --version
gcc (OpenWrt GCC 7.4.0) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If anyone can offer any suggestions it would be appreciated.
Appearently neither the base image provides gcc, not does it get installed in any of the RUN instructions in the Dockerfile. Everything required to build the image must be (made) available in it.
Either you need to add the missing bits and pieces yourself to the Dockerfile or raise an issue in the maintainers github repo. It’s always the same with automated things (and building an image from a Dockerfile is nothing else): eventualy things break → catching up with changes in the world is inevitable.
your chmod and chown might not have the effect you expect… as soon as you use a bind-mount not only will the folder content be replaced by the source, but also the ownership and permissions.
Usualy a dockerfile can be optimized for readability (what you did) or minmal size (what I did). Each RUN instruction will create a new layer, even for small changes like chmod and chown.