I'm trying to setup Mycroft on the Voice Hat with an RPi 3B+. The install script calls
sudo apt-get install aiy-python-wheels
This fails with
protobuf-3.6.1-cp35-cp35m-linux_armv6.1 is not a supported wheel on this platform
Is this an AIY issue? Is there a fix or workaround?
Thanks, Jan
Thanks for reporting this. Technically this wheel is compatible and should work on RPi 3B+ but looks like pip is not happy about its name. Please use our SD card image if possible, it should work on any Pi board.
Same issue on 3B.
This is a challenge. I had five boards working before the upgrade to button.wait_for_press(). I have a LOT of stuff on the pi besides just voice to be able to control boards with voice. I literally have to start from scratch to rebuild these boards, which is really not a desired option. Please post an upgrade here when the bug is fixed using upgrade. Or in the meantime could you post the code to fix the bug you put in your new image? The problem is in duration_pb2.
andlo has posted a fix in the Mycroft forum Setting up aiy-python-wheels: protobuf not supported on armv6.1
This issue should NOT be closed until apt upgrade works properly. Google needs to fix this or every time we update or upgrade we have to repatch. Also it is NOT an answer to just download the current image when it overwrites all your code.
I am having the same issue. This is not resolved. 'apt install aiy-python-wheels' is not going to work until whatever has changed in protobuf allows it to be compatible again.
Actually, answer is not to download the current image, because it has the same issue.
I've tried to install packages manually on Raspbian images:
• 2017-09-07
• 2018-03-13
• 2018-11-13
and it didn't worked with the same error as @jannewmarch has.
Then I've gave it up and use flash provided image aiyprojects-latest.img.xz from 2018-08-07, but apt-get upgrade didn't work either with the same error. It looks like it will be working without the upgrading (but the I've discovered another issue #356 :/).
I have Raspberry 3 with Voice Kit V1 and everything worked when I've tried installing it for the first time in October 2017. Thank you.
New image version mentioned manoj7410 in #530 resolved this issue for me.
How can I apply the new image update without having to reflash it again and loose all my settings?
I reloaded the new image and it works. But I used downgrading the RPi.GPIO as mentioned the bottom posts at #481.
Why is this closed? This is not resolved — not everyone can start with the image as a base.
I am using raspberry 3B with AIY voice v1 hat, with this I am getting error on apt install aiy-python-wheels
please suggest me any solution.
This seems to have been marked closed by me on 22 Nov. If I did, I didn't mean to! I mentioned a workaround, but that isn't a fix. So I'm re-opening it, because it isn't fixed yet.
This seems to have been marked closed by me on 22 Nov. If I did, I didn't mean to! I mentioned a workaround, but that isn't a fix. So I'm re-opening it, because it isn't fixed yet.
Thanks for reopening as this issue as is widely faced by users without any working solution.
@jannewmarch do you found any solution for your problem?
I am trying to install this from last 2 weeks, I also tried the recommended solution to update the image with latest one bu this image is not boot able which is another problem :
https://github.com/google/aiyprojects-raspbian/releases/tag/v20181116
If the problem has been fixed, could you advise what was done to fix it? Simply telling users to start with a clean install is NOT the most user-friendly approach.
andlo has posted a workaround for Mycroft in the Mycroft forum Setting up aiy-python-wheels: protobuf not supported on armv6.1. It's not a fix - it allows Mycroft to boot up by timing out on aiy-python-wheels, but every hour or so it tries to reload it and has to time out again.
The problem stems from the aiy-python-wheels package not identifying the hardware prior to forcing an install of an armv61 version of protobuf.
#!/bin/bash
set -e
case "$1" in
configure)
pip3 install --no-deps --no-cache-dir --disable-pip-version-check \
/opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whl
SITE_PACKAGES=$(python3 -c "import site; print(site.getsitepackages()[0])")
# armv6l
SITE_PACKAGES_ARMV6L=${SITE_PACKAGES}-linux-armv6l
mkdir -p ${SITE_PACKAGES_ARMV6L}
unzip -d ${SITE_PACKAGES_ARMV6L} \
/opt/aiy/python-wheels/google_assistant_library-1.0.1-py2.py3-none-linux_armv6l.whl
# armv7l
SITE_PACKAGES_ARMV7L=${SITE_PACKAGES}-linux-armv7l
mkdir -p ${SITE_PACKAGES_ARMV7L}
unzip -d ${SITE_PACKAGES_ARMV7L} \
/opt/aiy/python-wheels/google_assistant_library-1.0.1-py2.py3-none-linux_armv7l.whl
cat > ${SITE_PACKAGES}/aiy.pth <<EOF
import distutils.util; import sys; import site; path='%s-%s' %(site.getsitepackages()[0], distutils.util.get_platform()); {True: [], False: sys.path}.get(path in sys.path).append(path);
EOF
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
exit 0
Workaround on rapberry-pi3:
first do
sudo ln -s /opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whl /opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv7l.whl
Then in
/var/lib/dpkg/info/aiy-python-wheels.postinst
replace
/opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whl
with
/opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv7l.whl
then do:
sudo dpkg --configure -a
Workaround on rapberry-pi3:
first do
sudo ln -s /opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whl /opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv7l.whl
Then in
/var/lib/dpkg/info/aiy-python-wheels.postinst
replace
/opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whl
with
/opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv7l.whl
then do:
sudo dpkg --configure -a
I then get:
` $ sudo dpkg --configure -a
Setting up aiy-projects-python (1.1-0) ...
fatal: destination path '/opt/aiy/projects-python' already exists and is not an empty directory.
dpkg: error processing package aiy-projects-python (--configure):
subprocess installed post-installation script returned error exit status 128
Errors were encountered while processing:
aiy-projects-python`
You are stalled in a previous phase as the sudo apt-get install aiy-python-wheels .
Perhaps
sudo dpkg --configure --force-overwrite --force-overwrite-dir -a
works for you?
Another solution might be to look at the /opt/aiy/ folder, and look at the aiy packages that have already been installed, remove them and remove /opt/aiy and start all over again.
In the end I had these installed:
ii aiy-board-info 1.0-1 all AIY Kit Information
ii aiy-bt-prov-server 1.0-1 all AIY Bluetooth provisioning server
ii aiy-cwc-server 1.0-1 all AIY Coding with Chrome Server
ii aiy-dkms 1.1-2 all Hardware device drivers for AIY Projects Kits.
ii aiy-io-mcu-firmware 1.0-1 all AIY MCU Firmware
ii aiy-models 1.1-0 all Binary model data for AIY devices
ii aiy-overlay-vision 1.0-1 all Device tree overlay for AIY Vision Bonnet.
ii aiy-overlay-voice 1.0-1 all Device tree overlay for AIY Voice Bonnet.
ii aiy-projects-python 1.1-0 all AIY Python API
ii aiy-python-wheels 1.1-1 all Prebuilt Python wheels for AIY
ii aiy-usb-gadget 1.0-1 all AIY USB Gadget
ii aiy-vision-dkms 1.1-1 all AIY Vision DKMS driver.
ii aiy-vision-firmware 1.2-0 all Binary firmware for AIY vision bonnet
ii aiy-voice-services 1.1-1 all AIY Voice Services
ii aiy-voicebonnet-soundcard-dkms 1.0-2 all AIY Voice DKMS driver.
You are stalled in a previous phase as the sudo apt-get install aiy-python-wheels .
Perhaps
sudo dpkg --configure --force-overwrite --force-overwrite-dir -a
works for you?
Another solution might be to look at the /opt/aiy/ folder, and look at the aiy packages that have already been installed, remove them and remove /opt/aiy and start all over again.
In the end I had these installed:ii aiy-board-info 1.0-1 all AIY Kit Information
ii aiy-bt-prov-server 1.0-1 all AIY Bluetooth provisioning server
ii aiy-cwc-server 1.0-1 all AIY Coding with Chrome Server
ii aiy-dkms 1.1-2 all Hardware device drivers for AIY Projects Kits.
ii aiy-io-mcu-firmware 1.0-1 all AIY MCU Firmware
ii aiy-models 1.1-0 all Binary model data for AIY devices
ii aiy-overlay-vision 1.0-1 all Device tree overlay for AIY Vision Bonnet.
ii aiy-overlay-voice 1.0-1 all Device tree overlay for AIY Voice Bonnet.
ii aiy-projects-python 1.1-0 all AIY Python API
ii aiy-python-wheels 1.1-1 all Prebuilt Python wheels for AIY
ii aiy-usb-gadget 1.0-1 all AIY USB Gadget
ii aiy-vision-dkms 1.1-1 all AIY Vision DKMS driver.
ii aiy-vision-firmware 1.2-0 all Binary firmware for AIY vision bonnet
ii aiy-voice-services 1.1-1 all AIY Voice Services
ii aiy-voicebonnet-soundcard-dkms 1.0-2 all AIY Voice DKMS driver.
I renamed the projects-python directory to projects-python2 then re-ran:
$ sudo dpkg --configure -a
Setting up aiy-projects-python (1.1-0) ...
Cloning into '/opt/aiy/projects-python'...
Receiving objects: 100% (2594/2594), 1.53 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1195/1195), done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.
/opt/aiy/projects-python /
Note: checking out 'aiy-github'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 5c74ce5... Update HACKING.md.
Deleted tag 'aiy-github' (was 5c74ce5)
Switched to a new branch 'aiyprojects'
/
Obtaining file:///opt/aiy/projects-python/src
Exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 1025, in check_if_exists
self.satisfied_by = pkg_resources.get_distribution(str(no_marker))
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 553, in get_distribution
dist = get_provider(dist)
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 427, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 963, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 854, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (google-cloud-speech 0.30.0 (/usr/local/lib/python3.5/dist-packages), Requirement.parse('google-cloud-speech==0.36.0'), {'aiy-projects-python'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 353, in run
wb.build(autobuilding=True)
File "/usr/lib/python3/dist-packages/pip/wheel.py", line 749, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 521, in _prepare_file
req_to_install.check_if_exists()
File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 1036, in check_if_exists
self.req.name
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 553, in get_distribution
dist = get_provider(dist)
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 427, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 963, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 854, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (google-cloud-speech 0.30.0 (/usr/local/lib/python3.5/dist-packages), Requirement.parse('google-cloud-speech==0.36.0'), {'aiy-projects-python'})
dpkg: error processing package aiy-projects-python (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
aiy-projects-python
Solved this. Someone hard-coded an older version of protobuf into /var/lib/dpkg/info/aiy-python-wheels.postinst . Please send this upstream for correction. The workaround is as follows:
pip3 download protobuf
(file downloaded is protobuf-3.7.1-py2.py3-none-any.whl)
pip3 install ./protobuf-3.7.1-py2.py3-none-any.whl
sudo nano /var/lib/dpkg/info/aiy-python-wheels.postinst
Comment out the lines containing
# pip3 install --no-deps --no-cache-dir --disable-pip-version-check \
# /opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whl
Finish installation:
sudo dpkg --configure --force-overwrite --force-overwrite-dir -a
Solved this. Someone hard-coded an older version of protobuf into /var/lib/dpkg/info/aiy-python-wheels.postinst . Please send this upstream for correction. The workaround is as follows:
pip3 download protobuf (file downloaded is protobuf-3.7.1-py2.py3-none-any.whl) pip3 install ./protobuf-3.7.1-py2.py3-none-any.whl sudo nano /var/lib/dpkg/info/aiy-python-wheels.postinstComment out the lines containing
# pip3 install --no-deps --no-cache-dir --disable-pip-version-check \ # /opt/aiy/python-wheels/protobuf-3.6.1-cp35-cp35m-linux_armv6l.whlFinish installation:
sudo dpkg --configure --force-overwrite --force-overwrite-dir -a
Thank you very much Whytehorse, as this issue is still present on the latest image 2019-07-20... !
trying to install aiy v1 [python-wheels (1.1-1)] on rpi4. followed this entire thread. workarounds did not work for me :-/.
any advice would be greatly appreciated. really.
sudo dpkg --configure --force-overwrite --force-overwrite-dir -a
Setting up aiy-voicebonnet-soundcard-dkms (1.0-2) ...
Removing old aiy-voicebonnet-soundcard-1.0 DKMS files...
Deleting module version: 1.0
completely from the DKMS tree.
Done.
Loading new aiy-voicebonnet-soundcard-1.0 DKMS files...
It is likely that 4.19.75-v7l+ belongs to a chroot's host
Building for 4.19.75+, 4.19.75-v7+, 4.19.75-v7l+ and 4.19.75-v8+
Building initial module for 4.19.75+
Error! Bad return status for module build on kernel: 4.19.75+ (armv7l)
Consult /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/make.log for more information.
dpkg: error processing package aiy-voicebonnet-soundcard-dkms (--configure):
installed aiy-voicebonnet-soundcard-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
aiy-voicebonnet-soundcard-dkms
cat /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/make.log
DKMS make.log for aiy-voicebonnet-soundcard-1.0 for kernel 4.19.75+ (armv7l)
Mon 11 Nov 2019 10:56:18 PM IST
make: Entering directory '/usr/src/linux-headers-4.19.75+'
CC [M] /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.o
CC [M] /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.o
CC [M] /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rl6231.o
In file included from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.c:25:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2207:36: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration
int rt5645_sel_asrc_clk_src(struct snd_soc_codec *codec,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2210:35: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration
int rt5645_set_jack_detect(struct snd_soc_codec *codec,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.c: In function ‘snd_rpi_aiy_voicebonnet_init’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.c:40:29: error: ‘struct snd_soc_pcm_runtime’ has no member named ‘codec’
rt5645_sel_asrc_clk_src(rtd->codec,
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.c:62:35: error: ‘struct snd_soc_pcm_runtime’ has no member named ‘codec’
return rt5645_set_jack_detect(rtd->codec, &headset_jack, NULL, NULL);
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.c:63:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
make[1]: *** [scripts/Makefile.build:309: /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/snd-aiy-voicebonnet.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:35:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2207:36: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration
int rt5645_sel_asrc_clk_src(struct snd_soc_codec *codec,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2210:35: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration
int rt5645_set_jack_detect(struct snd_soc_codec *codec,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_reset’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:428:9: error: implicit declaration of function ‘snd_soc_write’; did you mean ‘snd_ac97_write’? [-Werror=implicit-function-declaration]
return snd_soc_write(codec, RT5645_RESET, 0);
^~~~~~~~~~~~~
snd_ac97_write
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘set_dmic_clk’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:835:32: error: implicit declaration of function ‘snd_soc_dapm_to_codec’; did you mean ‘snd_soc_dapm_to_component’? [-Werror=implicit-function-declaration]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
^~~~~~~~~~~~~~~~~~~~~
snd_soc_dapm_to_component
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:835:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:836:31: error: implicit declaration of function ‘snd_soc_codec_get_drvdata’; did you mean ‘snd_soc_dai_get_drvdata’? [-Werror=implicit-function-declaration]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
snd_soc_dai_get_drvdata
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:836:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
In file included from ./include/linux/i2c.h:30,
from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:17:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:843:16: error: dereferencing pointer to incomplete type ‘struct snd_soc_codec’
dev_err(codec->dev, "Failed to set DMIC clock\n");
^~
./include/linux/device.h:1443:11: note: in definition of macro ‘dev_err’
_dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:845:3: error: implicit declaration of function ‘snd_soc_update_bits’; did you mean ‘snd_ac97_update_bits’? [-Werror=implicit-function-declaration]
snd_soc_update_bits(codec, RT5645_DMIC_CTRL1,
^~~~~~~~~~~~~~~~~~~
snd_ac97_update_bits
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘is_sys_clk_from_pll’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:853:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(source->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:856:8: error: implicit declaration of function ‘snd_soc_read’; did you mean ‘snd_soc_cnew’? [-Werror=implicit-function-declaration]
val = snd_soc_read(codec, RT5645_GLB_CLK);
^~~~~~~~~~~~
snd_soc_cnew
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘is_using_asrc’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:867:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(source->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_enable_hweq’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:915:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: At top level:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:943:5: error: conflicting types for ‘rt5645_sel_asrc_clk_src’
int rt5645_sel_asrc_clk_src(struct snd_soc_codec *codec,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:35:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2207:5: note: previous declaration of ‘rt5645_sel_asrc_clk_src’ was here
int rt5645_sel_asrc_clk_src(struct snd_soc_codec *codec,
^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/linkage.h:7,
from ./include/linux/kernel.h:7,
from ./include/linux/list.h:9,
from ./include/linux/module.h:9,
from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:12:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1008:19: error: conflicting types for ‘rt5645_sel_asrc_clk_src’
EXPORT_SYMBOL_GPL(rt5645_sel_asrc_clk_src);
^~~~~~~~~~~~~~~~~~~~~~~
./include/linux/export.h:79:21: note: in definition of macro ‘___EXPORT_SYMBOL’
extern typeof(sym) sym; \
^~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1008:1: note: in expansion of macro ‘EXPORT_SYMBOL_GPL’
EXPORT_SYMBOL_GPL(rt5645_sel_asrc_clk_src);
^~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:35:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2207:5: note: previous declaration of ‘rt5645_sel_asrc_clk_src’ was here
int rt5645_sel_asrc_clk_src(struct snd_soc_codec *codec,
^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘hp_amp_power’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1671:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_hp_event’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1763:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1764:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_spk_event’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1829:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_lout_event’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1862:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_bst2_event’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1892:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5650_hp_event’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1915:32: warning: initialization of ‘struct snd_soc_codec *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:1916:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_hw_params’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2703:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’
struct snd_soc_codec *codec = dai->codec;
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2704:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_set_dai_fmt’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2779:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’
struct snd_soc_codec *codec = dai->codec;
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2780:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_set_dai_sysclk’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2850:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’
struct snd_soc_codec *codec = dai->codec;
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2851:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_set_dai_pll’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2884:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’
struct snd_soc_codec *codec = dai->codec;
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2885:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_set_tdm_slot’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2955:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’
struct snd_soc_codec *codec = dai->codec;
^~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:2956:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_set_bias_level’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3021:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3025:31: error: implicit declaration of function ‘snd_soc_codec_get_bias_level’; did you mean ‘snd_soc_dapm_get_bias_level’? [-Werror=implicit-function-declaration]
if (SND_SOC_BIAS_STANDBY == snd_soc_codec_get_bias_level(codec)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
snd_soc_dapm_get_bias_level
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_enable_push_button_irq’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3081:38: error: implicit declaration of function ‘snd_soc_codec_get_dapm’; did you mean ‘snd_soc_component_get_dapm’? [-Werror=implicit-function-declaration]
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
^~~~~~~~~~~~~~~~~~~~~~
snd_soc_component_get_dapm
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3081:38: warning: initialization of ‘struct snd_soc_dapm_context *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_jack_detect’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3108:38: warning: initialization of ‘struct snd_soc_dapm_context *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3109:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: At top level:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3207:5: error: conflicting types for ‘rt5645_set_jack_detect’
int rt5645_set_jack_detect(struct snd_soc_codec *codec,
^~~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:35:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2210:5: note: previous declaration of ‘rt5645_set_jack_detect’ was here
int rt5645_set_jack_detect(struct snd_soc_codec *codec,
^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_set_jack_detect’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3211:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/linkage.h:7,
from ./include/linux/kernel.h:7,
from ./include/linux/list.h:9,
from ./include/linux/module.h:9,
from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:12:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: At top level:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3236:19: error: conflicting types for ‘rt5645_set_jack_detect’
EXPORT_SYMBOL_GPL(rt5645_set_jack_detect);
^~~~~~~~~~~~~~~~~~~~~~
./include/linux/export.h:79:21: note: in definition of macro ‘___EXPORT_SYMBOL’
extern typeof(sym) sym; \
^~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3236:1: note: in expansion of macro ‘EXPORT_SYMBOL_GPL’
EXPORT_SYMBOL_GPL(rt5645_set_jack_detect);
^~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:35:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.h:2210:5: note: previous declaration of ‘rt5645_set_jack_detect’ was here
int rt5645_set_jack_detect(struct snd_soc_codec *codec,
^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_probe’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3376:38: warning: initialization of ‘struct snd_soc_dapm_context *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3377:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3400:2: error: implicit declaration of function ‘snd_soc_codec_force_bias_level’; did you mean ‘snd_soc_dapm_force_bias_level’? [-Werror=implicit-function-declaration]
snd_soc_codec_force_bias_level(codec, SND_SOC_BIAS_OFF);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
snd_soc_dapm_force_bias_level
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_suspend’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3424:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_resume’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3434:31: warning: initialization of ‘struct rt5645_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: At top level:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3499:15: error: variable ‘soc_codec_dev_rt5645’ has initializer but incomplete type
static struct snd_soc_codec_driver soc_codec_dev_rt5645 = {
^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3500:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘probe’
.probe = rt5645_probe,
^~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3500:11: warning: excess elements in struct initializer
.probe = rt5645_probe,
^~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3500:11: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3501:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘remove’
.remove = rt5645_remove,
^~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3501:12: warning: excess elements in struct initializer
.remove = rt5645_remove,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3501:12: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3502:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘suspend’
.suspend = rt5645_suspend,
^~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3502:13: warning: excess elements in struct initializer
.suspend = rt5645_suspend,
^~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3502:13: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3503:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘resume’
.resume = rt5645_resume,
^~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3503:12: warning: excess elements in struct initializer
.resume = rt5645_resume,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3503:12: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3504:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘set_bias_level’
.set_bias_level = rt5645_set_bias_level,
^~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3504:20: warning: excess elements in struct initializer
.set_bias_level = rt5645_set_bias_level,
^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3504:20: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3505:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘idle_bias_off’
.idle_bias_off = true,
^~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3505:19: warning: excess elements in struct initializer
.idle_bias_off = true,
^~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3505:19: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3506:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘component_driver’
.component_driver = {
^~~~~~~~~~~~~~~~
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3506:22: error: extra brace group at end of initializer
.component_driver = {
^
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3506:22: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3506:22: warning: excess elements in struct initializer
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3506:22: note: (near initialization for ‘soc_codec_dev_rt5645’)
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_i2c_probe’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3865:2: error: implicit declaration of function ‘setup_timer’; did you mean ‘setup_irq’? [-Werror=implicit-function-declaration]
setup_timer(&rt5645->btn_check_timer,
^~~~~~~~~~~
setup_irq
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3881:8: error: implicit declaration of function ‘snd_soc_register_codec’; did you mean ‘snd_soc_register_dai’? [-Werror=implicit-function-declaration]
ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_rt5645,
^~~~~~~~~~~~~~~~~~~~~~
snd_soc_register_dai
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: In function ‘rt5645_i2c_remove’:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3906:2: error: implicit declaration of function ‘snd_soc_unregister_codec’; did you mean ‘snd_soc_unregister_card’? [-Werror=implicit-function-declaration]
snd_soc_unregister_codec(&i2c->dev);
^~~~~~~~~~~~~~~~~~~~~~~~
snd_soc_unregister_card
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c: At top level:
/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.c:3499:36: error: storage size of ‘soc_codec_dev_rt5645’ isn’t known
static struct snd_soc_codec_driver soc_codec_dev_rt5645 = {
^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:309: /var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build/rt5645.o] Error 1
make: *** [Makefile:1519: _module_/var/lib/dkms/aiy-voicebonnet-soundcard/1.0/build] Error 2
make: Leaving directory '/usr/src/linux-headers-4.19.75+'
This should be fixed in the latest SD card image, please follow HACKING.md to install python-wheels [1.3-1].
This should be fixed in the latest SD card image, please follow HACKING.md to install
python-wheels [1.3-1].
Yeah, that's a big negatory there, ghost rider. Getting the same issue when I try to install manually:
pi@raspberrypi:~ $ sudo apt-get install -y aiy-python-wheels
Reading package lists... Done
Building dependency tree
Reading state information... Done
aiy-python-wheels is already the newest version (1.3-1).
The following packages were automatically installed and are no longer required:
vlc-plugin-notify vlc-plugin-samba vlc-plugin-video-splitter vlc-plugin-visualization
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 17 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up aiy-python-wheels (1.3-1) ...
protobuf-3.10.0-cp37-cp37m-linux_armv7l.whl is not a supported wheel on this platform.
dpkg: error processing package aiy-python-wheels (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
aiy-python-wheels
E: Sub-process /usr/bin/dpkg returned an error code (1)
@dmitriykovalev
Setting up aiy-python-wheels (1.3-1) ...
protobuf-3.10.0-cp37-cp37m-linux_armv6l.whl is not a supported wheel on this platform.
Most helpful comment
Solved this. Someone hard-coded an older version of protobuf into /var/lib/dpkg/info/aiy-python-wheels.postinst . Please send this upstream for correction. The workaround is as follows:
Comment out the lines containing
Finish installation:
sudo dpkg --configure --force-overwrite --force-overwrite-dir -a