donaldzou / WGDashboard

Simple dashboard for WireGuard VPN written in Python & Vue.js
https://donaldzou.github.io/WGDashboard-Documentation/
Apache License 2.0
1.65k stars 255 forks source link

Running setup.py install for pillow... error #87

Closed xiki808 closed 3 years ago

xiki808 commented 3 years ago

Describe The Problem I am having problems during installation. After ./wgd.sh install the dashboard does not start. When I try pip3 install -r requirements.txt I get "Running setup.py install for pillow... error"

Expected Error / Traceback

root@wireguard:~/wgdashboard/src# pip3 install -r requirements.txt
Collecting Flask
  Using cached Flask-2.0.1-py3-none-any.whl (94 kB)
Collecting tinydb
  Using cached tinydb-4.5.1-py3-none-any.whl (23 kB)
Collecting ifcfg
  Using cached ifcfg-0.22-py2.py3-none-any.whl (10 kB)
Collecting icmplib
  Using cached icmplib-3.0.1-py3-none-any.whl (30 kB)
Collecting flask-qrcode
  Using cached Flask_QRcode-3.0.0-py3-none-any.whl
Requirement already satisfied: itsdangerous>=2.0 in /usr/local/lib/python3.9/dist-packages (from Flask->-r requirements.txt (line 1)) (2.0.1)
Requirement already satisfied: click>=7.1.2 in /usr/local/lib/python3.9/dist-packages (from Flask->-r requirements.txt (line 1)) (8.0.1)
Requirement already satisfied: Werkzeug>=2.0 in /usr/local/lib/python3.9/dist-packages (from Flask->-r requirements.txt (line 1)) (2.0.1)
Requirement already satisfied: Jinja2>=3.0 in /usr/local/lib/python3.9/dist-packages (from Flask->-r requirements.txt (line 1)) (3.0.1)
Requirement already satisfied: qrcode in /usr/local/lib/python3.9/dist-packages (from flask-qrcode->-r requirements.txt (line 5)) (7.3)
Collecting pillow
  Using cached Pillow-8.3.2.tar.gz (48.8 MB)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from Jinja2>=3.0->Flask->-r requirements.txt (line 1)) (2.0.1)
Building wheels for collected packages: pillow
  Building wheel for pillow (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py'"'"'; __file__='"'"'/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-wuspq524
       cwd: /tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/
  Complete output (173 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.9
  creating build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/BdfFontFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/BlpImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ContainerIO.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/CurImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/DdsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ExifTags.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/FliImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/FontFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/FtexImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/GdImageFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/GifImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/GimpGradientFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/Image.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageChops.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageCms.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageColor.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageDraw.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageDraw2.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageEnhance.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageFilter.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageFont.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageGrab.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageMath.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageMode.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageMorph.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageOps.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImagePalette.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImagePath.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageQt.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageSequence.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageShow.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageStat.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageTk.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageTransform.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImageWin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/JpegPresets.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/MicImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/MspImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PSDraw.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PaletteFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PcfFontFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PdfParser.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PngImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/PyAccess.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/SunImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/TarIO.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/TiffTags.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/WalImageFile.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/__init__.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/__main__.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/_binary.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/_tkinter_finder.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/_util.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/_version.py -> build/lib.linux-armv7l-3.9/PIL
  copying src/PIL/features.py -> build/lib.linux-armv7l-3.9/PIL
  running egg_info
  writing src/Pillow.egg-info/PKG-INFO
  writing dependency_links to src/Pillow.egg-info/dependency_links.txt
  writing top-level names to src/Pillow.egg-info/top_level.txt
  reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.c'
  warning: no files found matching '*.h'
  warning: no files found matching '*.sh'
  warning: no previously-included files found matching '.appveyor.yml'
  warning: no previously-included files found matching '.clang-format'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching '.editorconfig'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files matching '.git*' found anywhere in distribution
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.so' found anywhere in distribution
  no previously-included directories found matching '.ci'
  writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
  running build_ext

  The headers or library files could not be found for jpeg,
  a required dependency when compiling Pillow from source.

  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html

  Traceback (most recent call last):
    File "/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py", line 976, in <module>
      setup(
    File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 223, in run
      self.run_command('build')
    File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3.9/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3/dist-packages/setuptools/command/build_ext.py", line 79, in run
      _build_ext.run(self)
    File "/usr/lib/python3.9/distutils/command/build_ext.py", line 340, in run
      self.build_extensions()
    File "/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py", line 788, in build_extensions
      raise RequiredDependencyException(f)
  __main__.RequiredDependencyException: jpeg

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py", line 1035, in <module>
      raise RequiredDependencyException(msg)
  __main__.RequiredDependencyException:

  The headers or library files could not be found for jpeg,
  a required dependency when compiling Pillow from source.

  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html

  ----------------------------------------
  ERROR: Failed building wheel for pillow
  Running setup.py clean for pillow
Failed to build pillow
Installing collected packages: pillow, Flask, tinydb, ifcfg, icmplib, flask-qrcode
    Running setup.py install for pillow ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py'"'"'; __file__='"'"'/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-pgsb2pkz/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/pillow
         cwd: /tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/
    Complete output (175 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-3.9
    creating build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/BdfFontFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/BlpImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ContainerIO.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/CurImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/DdsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ExifTags.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/FliImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/FontFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/FtexImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/GdImageFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/GifImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/GimpGradientFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/Image.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageChops.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageCms.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageColor.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageDraw.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageDraw2.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageEnhance.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageFilter.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageFont.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageGrab.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageMath.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageMode.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageMorph.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageOps.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImagePalette.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImagePath.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageQt.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageSequence.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageShow.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageStat.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageTk.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageTransform.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImageWin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/JpegPresets.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/MicImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/MspImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PSDraw.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PaletteFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PcfFontFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PdfParser.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PngImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/PyAccess.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/SunImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/TarIO.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/TiffTags.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/WalImageFile.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/__init__.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/__main__.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/_binary.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/_tkinter_finder.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/_util.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/_version.py -> build/lib.linux-armv7l-3.9/PIL
    copying src/PIL/features.py -> build/lib.linux-armv7l-3.9/PIL
    running egg_info
    writing src/Pillow.egg-info/PKG-INFO
    writing dependency_links to src/Pillow.egg-info/dependency_links.txt
    writing top-level names to src/Pillow.egg-info/top_level.txt
    reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.c'
    warning: no files found matching '*.h'
    warning: no files found matching '*.sh'
    warning: no previously-included files found matching '.appveyor.yml'
    warning: no previously-included files found matching '.clang-format'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching '.editorconfig'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'codecov.yml'
    warning: no previously-included files matching '.git*' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.so' found anywhere in distribution
    no previously-included directories found matching '.ci'
    writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
    running build_ext

    The headers or library files could not be found for jpeg,
    a required dependency when compiling Pillow from source.

    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html

    Traceback (most recent call last):
      File "/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py", line 976, in <module>
        setup(
      File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/usr/lib/python3.9/distutils/command/install.py", line 590, in run
        self.run_command('build')
      File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.9/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/lib/python3/dist-packages/setuptools/command/build_ext.py", line 79, in run
        _build_ext.run(self)
      File "/usr/lib/python3.9/distutils/command/build_ext.py", line 340, in run
        self.build_extensions()
      File "/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py", line 788, in build_extensions
        raise RequiredDependencyException(f)
    __main__.RequiredDependencyException: jpeg

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py", line 1035, in <module>
        raise RequiredDependencyException(msg)
    __main__.RequiredDependencyException:

    The headers or library files could not be found for jpeg,
    a required dependency when compiling Pillow from source.

    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html

    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py'"'"'; __file__='"'"'/tmp/pip-install-c926pdvg/pillow_f4f1a1c6787a4ecb9560f29e11106334/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-pgsb2pkz/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/pillow Check the logs for full command output.

OS Information: cat /sys/firmware/devicetree/base/model Raspberry Pi 4 Model B Rev 1.4root@wireguard:~/wgdashboard/src#

uname -a Linux wireguard 5.10.60-v7l+ #1449 SMP Wed Aug 25 15:00:44 BST 2021 armv7l GNU/Linux

cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

The OS is actually an LXC container. The host is Rasbian Lite.

xiki808 commented 3 years ago

Found the culprit. I had to apt install libjpeg-dev before wgd installation.