Fail to install Mycroft

Creating a bug report/issue

Required Information

  • DietPi version:

G_DIETPI_VERSION_CORE=8
G_DIETPI_VERSION_SUB=23
G_DIETPI_VERSION_RC=3
G_GITBRANCH=‘master’
G_GITOWNER=‘MichaIng’
G_LIVE_PATCH_STATUS[0]=‘applied’
G_LIVE_PATCH_STATUS[1]=‘not applied’

  • Distro version:
    bullseye 0

  • Kernel version
    Linux myUser 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux

  • Architecture:
    arm64

  • SBC model:
    RPi 4 Model B (aarch64)

  • Power supply used
    5.1V 3A

  • SSD boot disk used:
    Kingston A400 SSD 240GB SATA III

Hello, once again with a new issue that I faced!

I am trying to install Mycroft AI, but I am getting this error:

ERROR: Command errored out with exit status 1: /mnt/dietpi_userdata/mycroft-core/.venv/bin/python3 /mnt/dietpi_userdata/mycroft-core/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp_bhlsk6u Check the logs for full command output.

Here is all the Logs:

DietPi-Software
─────────────────────────────────────────────────────
 Step: Installing ALSA: Advanced Linux Sound Architecture

[ SUB1 ] DietPi-Set_hardware soundcard (rpi-bcm2835-hdmi-plug)
[ INFO ] DietPi-Set_hardware | Checking for required APT packages: alsa-utils
[ INFO ] DietPi-Set_hardware | Resetting all sound card settings...
[  OK  ] DietPi-Set_hardware | rm /etc/asound.conf
[  OK  ] DietPi-Set_hardware | rm /var/lib/alsa/asound.state
Found hardware: "vc4-hdmi" "" "" "" ""
Hardware is initialized using a generic method
Found hardware: "vc4-hdmi" "" "" "" ""
Hardware is initialized using a generic method
[  OK  ] DietPi-Set_hardware | sed -Ei -e /^[[:blank:]]*(dtoverlay=(allo-|applepi-dac|dionaudio-|googlevoicehat-soundcard|hifiberry-|i-sabre-q2m|iqaudio-|justboom-|rpi-dac)|dtparam=i2s)/d -e s/^[[:blank:]]*(hdmi_drive(:[01])?=.*$)/#\1/ /boot/config.txt
[  OK  ] DietPi-Set_hardware | Setting in /boot/config.txt adjusted: dtparam=audio=off
[  OK  ] DietPi-Set_hardware | eval echo 'blacklist snd_bcm2835' /etc/modprobe.d/dietpi-disable_rpi_audio.conf
[  OK  ] DietPi-Set_hardware | sed -Ei /root=/s/[[:blank:]]*snd_bcm2835.enable_[^[:blank:]]*([[:blank:]]*$)?//g /boot/cmdline.txt
[  OK  ] DietPi-Set_hardware | sed -Ei /^[[:blank:]]*dtoverlay=vc4-kms-v3d(-pi4)?(,|$)/s/$/,noaudio/ /boot/config.txt
[ INFO ] DietPi-Set_hardware | Applying new sound card settings...
[  OK  ] DietPi-Set_hardware | Desired setting in /boot/dietpi.txt was already set: CONFIG_SOUNDCARD=rpi-bcm2835-hdmi-plug
[  OK  ] DietPi-Set_hardware | rm /etc/modprobe.d/dietpi-disable_rpi_audio.conf
[  OK  ] DietPi-Set_hardware | Setting in /boot/config.txt adjusted: dtparam=audio=on
[  OK  ] DietPi-Set_hardware | sed -i /root=/s/$/ snd_bcm2835.enable_headphones=0/ /boot/cmdline.txt
[  OK  ] DietPi-Set_hardware | Comment in /boot/config.txt converted to setting: hdmi_drive=2
[  OK  ] DietPi-Set_hardware | Comment in /boot/config.txt converted to setting: hdmi_drive:1=2
[  OK  ] DietPi-Set_hardware | sed -Ei /^[[:blank:]]*dtoverlay=vc4-kms-v3d(-pi4)?,/s/,noaudio(,|$)/\1/ /boot/config.txt
[  OK  ] DietPi-Set_hardware | alsactl -g store
[  OK  ] soundcard rpi-bcm2835-hdmi | Completed

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Installing Git: Clone and manage Git repositories locally

[ INFO ] DietPi-Software | APT install git, please wait...
Reading package lists...
Building dependency tree...
Reading state information...
git is already the newest version (1:2.30.2-1+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[  OK  ] DietPi-Software | APT install git

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Installing Mycroft AI: Open Source Voice Assistant

[  OK  ] DietPi-Software | cd /mnt/dietpi_userdata
[  OK  ] DietPi-Software | cd /tmp/DietPi-Software
[  OK  ] DietPi-Software | Checking URL: https://raw.githubusercontent.com/MichaIng/DietPi/master/.conf/dps_176/mycroft.conf
[ INFO ] DietPi-Software | G_THREAD_START_0 | curl -sSfL https://raw.githubusercontent.com/MichaIng/DietPi/master/.conf/dps_176/mycroft.conf -o mycroft.conf
[ INFO ] DietPi-Software | APT install vorbis-tools, please wait...
Reading package lists...
Building dependency tree...
Reading state information...
vorbis-tools is already the newest version (1.4.0-11+b1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[  OK  ] DietPi-Software | APT install vorbis-tools
[  OK  ] DietPi-Software | G_THREAD: All threads finished
[  OK  ] DietPi-Software | mv mycroft.conf /etc/mycroft/mycroft.conf
[  OK  ] DietPi-Software | usermod -aG audio -d /mnt/dietpi_userdata/mycroft-data -s /usr/sbin/nologin mycroft
[  OK  ] DietPi-Software | mkdir -p /mnt/dietpi_userdata/mycroft-data/skills
[  OK  ] DietPi-Software | chown -R mycroft:mycroft /etc/mycroft /mnt/dietpi_userdata/mycroft-core /mnt/dietpi_userdata/mycroft-data
[  OK  ] DietPi-Software | rm -Rf /opt/mycroft
[  OK  ] DietPi-Software | ln -s /mnt/dietpi_userdata/mycroft-data /opt/mycroft
[  OK  ] DietPi-Software | eval echo 'mycroft ALL=NOPASSWD: ALL' /etc/sudoers.d/mycroft
[  OK  ] DietPi-Software | cd /mnt/dietpi_userdata/mycroft-core
[  OK  ] DietPi-Software | sed -Ei s/[^[:blank:]"']*pulseaudio[^[:blank:]"']*//g ./dev_setup.sh
[ INFO ] DietPi-Software | sudo -u mycroft ./dev_setup.sh -sm, please wait...
Installing packages...
 Installing packages for Debian/Ubuntu/Mint...
Reading package lists...
Building dependency tree...
Reading state information...
autoconf is already the newest version (2.69-14).
automake is already the newest version (1:1.16.3-2).
bison is already the newest version (2:3.7.5+dfsg-1).
build-essential is already the newest version (12.9).
flac is already the newest version (1.3.3-2+deb11u2).
git is already the newest version (1:2.30.2-1+deb11u2).
libglib2.0-dev is already the newest version (2.66.8-1).
libicu-dev is already the newest version (67.1-7).
jq is already the newest version (1.6-2.1).
libfann-dev is already the newest version (2.2.0+ds-6).
libffi-dev is already the newest version (3.3-6).
libjpeg-dev is already the newest version (1:2.0.6-4).
libtool is already the newest version (2.4.6-15).
mpg123 is already the newest version (1.26.4-1).
pkg-config is already the newest version (0.29.2-1).
portaudio19-dev is already the newest version (19.6.0-1.1).
python3 is already the newest version (3.9.2-3).
python3-dev is already the newest version (3.9.2-3).
screen is already the newest version (4.8.0-6).
python3-setuptools is already the newest version (52.0.0-4).
swig is already the newest version (4.0.2-1).
curl is already the newest version (7.74.0-1.3+deb11u10).
libssl-dev is already the newest version (1.1.1w-0+deb11u1+rpt1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
./dev_setup.sh: line 471: [: ==: unary operator expected
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2570k  100 2570k    0     0  2652k      0 --:--:-- --:--:-- --:--:-- 2650k
Collecting pip==20.0.2
  Downloading pip-20.0.2-py2.py3-none-any.whl (1.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 4.2 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.0.2

[notice] A new release of pip is available: 20.0.2 -23.3.1
[notice] To update, run: python3 -m pip install --upgrade pip
grep: ./.git/hooks/pre-commit: No such file or directory
Collecting requests<2.26.0,>=2.20.0
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting gTTS<2.3.0,>=2.2.2
  Downloading gTTS-2.2.4-py3-none-any.whl (26 kB)
Collecting PyAudio==0.2.11
  Downloading PyAudio-0.2.11.tar.gz (37 kB)
Collecting pyee==8.1.0
  Downloading pyee-8.1.0-py2.py3-none-any.whl (12 kB)
Collecting SpeechRecognition==3.8.1
  Downloading SpeechRecognition-3.8.1-py2.py3-none-any.whl (32.8 MB)
Collecting tornado~=6.1
  Downloading tornado-6.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (428 kB)
Collecting websocket-client~=1.2.1
  Downloading websocket_client-1.2.3-py3-none-any.whl (53 kB)
Collecting requests-futures==0.9.5
  Downloading requests-futures-0.9.5.tar.gz (5.3 kB)
Collecting pyserial==3.0
  Downloading pyserial-3.0.tar.gz (133 kB)
Collecting psutil==5.6.6
  Downloading psutil-5.6.6.tar.gz (447 kB)
Collecting pocketsphinx==0.1.0
  Downloading pocketsphinx-0.1.0.tar.gz (503 kB)
Collecting inflection==0.3.1
  Downloading inflection-0.3.1.tar.gz (8.7 kB)
Collecting pillow==8.3.2
  Downloading Pillow-8.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB)
Collecting python-dateutil==2.6.0
  Downloading python_dateutil-2.6.0-py2.py3-none-any.whl (194 kB)
Collecting fasteners==0.14.1
  Downloading fasteners-0.14.1-py2.py3-none-any.whl (20 kB)
Collecting PyYAML==5.4
  Downloading PyYAML-5.4.tar.gz (174 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /mnt/dietpi_userdata/mycroft-core/.venv/bin/python3 /mnt/dietpi_userdata/mycroft-core/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp_bhlsk6u
       cwd: /tmp/pip-install-q1t1n83b/PyYAML
  Complete output (62 lines):
  /tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
  !!
  
          ********************************************************************************
          The license_file parameter is deprecated, use license_files instead.
  
          This deprecation is overdue, please update your project and remove deprecated
          calls to avoid build errors in the future.
  
          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************
  
  !!
    parsed = self.parsers.get(option_name, lambda x: x)(value)
  running egg_info
  writing lib3/PyYAML.egg-info/PKG-INFO
  writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt
  writing top-level names to lib3/PyYAML.egg-info/top_level.txt
  Traceback (most recent call last):
    File "/mnt/dietpi_userdata/mycroft-core/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 257, in <module>
      main()
    File "/mnt/dietpi_userdata/mycroft-core/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 240, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/mnt/dietpi_userdata/mycroft-core/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 91, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 341, in run_setup
      exec(code, locals())
    File "<string>", line 271, in <module>
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 318, in run
      self.find_sources()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 326, in find_sources
      mm.run()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 548, in run
      self.add_defaults()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 586, in add_defaults
      sdist.add_defaults(self)
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/command/sdist.py", line 113, in add_defaults
      super().add_defaults()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
      self._add_defaults_ext()
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
      self.filelist.extend(build_ext.get_source_files())
    File "<string>", line 201, in get_source_files
    File "/tmp/pip-build-env-vsjrrqpd/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
ERROR: Command errored out with exit status 1: /mnt/dietpi_userdata/mycroft-core/.venv/bin/python3 /mnt/dietpi_userdata/mycroft-core/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp_bhlsk6u Check the logs for full command output.
WARNING: You are using pip version 20.0.2; however, version 23.3.1 is available.
You should consider upgrading via the '/mnt/dietpi_userdata/mycroft-core/.venv/bin/python3 -m pip install --upgrade pip' command.
Warning: Failed to install required dependencies. Continue? y/N

===========================================================================

Also I bought the Seeed ReSpeaker-2-Mics-Pi-hat, and while I am trying to install the drivers as described here but I am getting this error:

Hit:1 https://deb.debian.org/debian bullseye InRelease
Hit:2 https://deb.debian.org/debian bullseye-updates InRelease
Hit:3 https://deb.debian.org/debian-security bullseye-security InRelease
Hit:4 https://archive.raspberrypi.org/debian bullseye InRelease
Hit:5 https://deb.debian.org/debian bullseye-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
raspberrypi-kernel is already the newest version (1:1.20230405-1).
raspberrypi-kernel-headers is already the newest version (1:1.20230405-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package linux-raspi
E: Unable to locate package linux-headers-raspi
E: Unable to locate package linux-image-raspi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libasound2-plugins is already the newest version (1.2.2-2).
dkms is already the newest version (2.8.4-3).
git is already the newest version (1:2.30.2-1+deb11u2).
i2c-tools is already the newest version (4.2-1+b1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
grep: /boot/kernel.img: No such file or directory

gzip: stdin: unexpected end of file
grep: /boot/kernel.img: No such file or directory

gzip: stdin: unexpected end of file
------------------------------------------------------
 WARNING Your loaded kernel version is 6.1.21
 Not matching the updated version .
 Kernel was updated, but new kernel was not loaded yet
 Please reboot your machine AND THEN run this script again

(Of course I have already rebooted)

I found this on seeed forum: ReSpeaker 4-Mic Array for Raspberry Pi on Diet Pi - ReSpeaker - Seeed Forum but it is not very helpful.

Is anyone familiar with Seeed ReSpeaker ? Has anyone used it with dietpi and Mycroft AI?

Thank you all, in advance

Hi once again!

I am still getting the same error even after updating to v8.24.

Has anyone installed Mycroft AI recently without an issue?

Looks like there are some dependencies missing for building something Mycroft needs. I have no experience with building software, so maybe somebody else can help.
But I noticed your are still on debian bullseye.

For respeaker I found this:
https://forum.seeedstudio.com/t/installing-respeaker-2-mic-hat-not-working-unable-to-locate-package-and-kernel-version-issues/269986
Looks like they do not maintain this hat anymore, so no support for “newer” kernels.

I upgrade the distro to Bookworm but I am still getting the same error. Thank you for your answer though!!!

Can you try following

pip install PyYAML==5.4

this one might be a workaround

This indeed fixed the issue. Thank you very much @Joulinar ! You are great