HinTak / seeed-voicecard

This is an enhancement fork with the explicit aim of supporting current shipping Raspbian/Ubuntu kernels without requiring downgrading. Please donate at https://hintak.github.io/ if it works for you. Use vX.Y branch for kernel version vX.Y
GNU General Public License v3.0
180 stars 67 forks source link

Bad return status for module build on kernel: 6.6.20+rpt-rpi-v8 (aarch64) #33

Closed ThePragmaticArt closed 1 month ago

ThePragmaticArt commented 2 months ago

When attempting to run the installation script for a ReSpeaker 6 mic array (gen 1), I'm seeing the following errors on a Raspberry Pi 4B model running the latest bookworm Lite OS.

Building module:
Cleaning build area...
make -j4 KERNELRELEASE=6.6.20+rpt-rpi-v8 -C /lib/modules/6.6.20+rpt-rpi-v8/build M=/var/lib/dkms/seeed-voicecard/0.3/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.6.20+rpt-rpi-v8 (aarch64)
Consult /var/lib/dkms/seeed-voicecard/0.3/build/make.log for more information.
mkdir: cannot create directory ‘/etc/voicecard’: File exists
git init
Reinitialized existing Git repository in /etc/voicecard/.git/
git add --all
git commit -m "origin configures"
On branch master
nothing to commit, working tree clean
------------------------------------------------------
Please reboot your raspberry pi to apply all settings
Enjoy!
evsergey commented 2 months ago

Consult /var/lib/dkms/seeed-voicecard/0.3/build/make.log for more information

ThePragmaticArt commented 2 months ago

Per request, for reference:

DKMS make.log for seeed-voicecard-0.3 for kernel 6.6.20+rpt-rpi-v8 (aarch64)
Sun  7 Apr 14:31:01 EDT 2024
make: Entering directory '/usr/src/linux-headers-6.6.20+rpt-rpi-v8'
  CC [M]  /var/lib/dkms/seeed-voicecard/0.3/build/wm8960.o
  CC [M]  /var/lib/dkms/seeed-voicecard/0.3/build/ac108.o
  CC [M]  /var/lib/dkms/seeed-voicecard/0.3/build/ac101.o
  CC [M]  /var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.o
In file included from /usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/device.h:15,
                 from /var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:19:
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c: In function ‘seeed_voice_card_trigger’:
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:223:20: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  223 |                 dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK], dai->stream_active[SNDRV_PCM_STREAM_CAPTURE]);
      |                    ^~
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/dev_printk.h:129:48: note: in definition of macro ‘dev_printk’
  129 |                 _dev_printk(level, dev, fmt, ##__VA_ARGS__);            \
      |                                                ^~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:221:9: note: in expansion of macro ‘dev_dbg’
  221 |         dev_dbg(rtd->card->dev, "%s() stream=%s  cmd=%d play:%d, capt:%d\n",
      |         ^~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:223:67: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  223 |                 dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK], dai->stream_active[SNDRV_PCM_STREAM_CAPTURE]);
      |                                                                   ^~
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/dev_printk.h:129:48: note: in definition of macro ‘dev_printk’
  129 |                 _dev_printk(level, dev, fmt, ##__VA_ARGS__);            \
      |                                                ^~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:221:9: note: in expansion of macro ‘dev_dbg’
  221 |         dev_dbg(rtd->card->dev, "%s() stream=%s  cmd=%d play:%d, capt:%d\n",
      |         ^~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:245:24: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  245 |                 if (dai->stream_active[SNDRV_PCM_STREAM_CAPTURE] && substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
      |                        ^~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:265:20: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  265 |                 dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK], dai->stream_active[SNDRV_PCM_STREAM_CAPTURE], ret);
      |                    ^~
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/dev_printk.h:129:48: note: in definition of macro ‘dev_printk’
  129 |                 _dev_printk(level, dev, fmt, ##__VA_ARGS__);            \
      |                                                ^~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:263:9: note: in expansion of macro ‘dev_dbg’
  263 |         dev_dbg(rtd->card->dev, "%s() stream=%s  cmd=%d play:%d, capt:%d;finished %d\n",
      |         ^~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:265:67: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  265 |                 dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK], dai->stream_active[SNDRV_PCM_STREAM_CAPTURE], ret);
      |                                                                   ^~
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/dev_printk.h:129:48: note: in definition of macro ‘dev_printk’
  129 |                 _dev_printk(level, dev, fmt, ##__VA_ARGS__);            \
      |                                                ^~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:263:9: note: in expansion of macro ‘dev_dbg’
  263 |         dev_dbg(rtd->card->dev, "%s() stream=%s  cmd=%d play:%d, capt:%d;finished %d\n",
      |         ^~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c: In function ‘asoc_simple_parse_dai’:
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:314:15: error: too few arguments to function ‘snd_soc_of_get_dai_name’
  314 |         ret = snd_soc_of_get_dai_name(node, &dlc->dai_name);
      |               ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:26:
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/sound/soc.h:1335:5: note: declared here
 1335 | int snd_soc_of_get_dai_name(struct device_node *of_node,
      |     ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c: In function ‘asoc_simple_init_dai_link_params’:
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:399:17: error: ‘struct snd_soc_dai_link’ has no member named ‘params’
  399 |         dai_link->params = params;
      |                 ^~
/var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.c:400:19: error: ‘struct snd_soc_dai_link’ has no member named ‘num_params’; did you mean ‘c2c_params’?
  400 |         dai_link->num_params = 1;
      |                   ^~~~~~~~~~
      |                   c2c_params
make[2]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/scripts/Makefile.build:248: /var/lib/dkms/seeed-voicecard/0.3/build/seeed-voicecard.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/seeed-voicecard/0.3/build/ac101.c: In function ‘ac101_hw_params’:
/var/lib/dkms/seeed-voicecard/0.3/build/ac101.c:1083:38: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
 1083 |                         if (codec_dai->stream_active[SNDRV_PCM_STREAM_CAPTURE] && dmic_used && codec_aif1_fs[i].samp_rate == 44100) {
      |                                      ^~
In file included from /usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/device.h:15,
                 from /usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/acpi.h:14,
                 from /usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/i2c.h:13,
                 from /var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:21:
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c: In function ‘ac108_hw_params’:
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:656:28: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  656 |                         dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK], dai->stream_active[SNDRV_PCM_STREAM_CAPTURE]);
      |                            ^~
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/dev_printk.h:129:48: note: in definition of macro ‘dev_printk’
  129 |                 _dev_printk(level, dev, fmt, ##__VA_ARGS__);            \
      |                                                ^~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:654:9: note: in expansion of macro ‘dev_dbg’
  654 |         dev_dbg(dai->dev, "%s() stream=%s play:%d capt:%d +++\n", __func__,
      |         ^~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:656:75: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  656 |                         dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK], dai->stream_active[SNDRV_PCM_STREAM_CAPTURE]);
      |                                                                           ^~
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/dev_printk.h:129:48: note: in definition of macro ‘dev_printk’
  129 |                 _dev_printk(level, dev, fmt, ##__VA_ARGS__);            \
      |                                                ^~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:654:9: note: in expansion of macro ‘dev_dbg’
  654 |         dev_dbg(dai->dev, "%s() stream=%s play:%d capt:%d +++\n", __func__,
      |         ^~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:667:66: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  667 |         if ((substream->stream == SNDRV_PCM_STREAM_CAPTURE && dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK])
      |                                                                  ^~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:668:67: error: ‘struct snd_soc_dai’ has no member named ‘stream_active’
  668 |          || (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && dai->stream_active[SNDRV_PCM_STREAM_CAPTURE])) {
      |                                                                   ^~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c: At top level:
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:1548:21: error: initialization of ‘int (*)(struct i2c_client *)’ from incompatible pointer type ‘int (*)(struct i2c_client *, const struct i2c_device_id *)’ [-Werror=incompatible-pointer-types]
 1548 |         .probe =    ac108_i2c_probe,
      |                     ^~~~~~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/ac108.c:1548:21: note: (near initialization for ‘ac108_i2c_driver.probe’)
make[2]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/scripts/Makefile.build:248: /var/lib/dkms/seeed-voicecard/0.3/build/ac101.o] Error 1
cc1: some warnings being treated as errors
/var/lib/dkms/seeed-voicecard/0.3/build/wm8960.c:1409:21: error: initialization of ‘int (*)(struct i2c_client *)’ from incompatible pointer type ‘int (*)(struct i2c_client *, const struct i2c_device_id *)’ [-Werror=incompatible-pointer-types]
 1409 |         .probe =    wm8960_i2c_probe,
      |                     ^~~~~~~~~~~~~~~~
/var/lib/dkms/seeed-voicecard/0.3/build/wm8960.c:1409:21: note: (near initialization for ‘wm8960_i2c_driver.probe’)
make[2]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/scripts/Makefile.build:248: /var/lib/dkms/seeed-voicecard/0.3/build/ac108.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/scripts/Makefile.build:248: /var/lib/dkms/seeed-voicecard/0.3/build/wm8960.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/Makefile:1938: /var/lib/dkms/seeed-voicecard/0.3/build] Error 2
make: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/Makefile:246: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.6.20+rpt-rpi-v8'
evsergey commented 2 months ago

git checkout v6.6 and try again 🤷

HinTak commented 1 month ago

Use the 6.6 branch https://github.com/HinTak/seeed-voicecard/tree/v6.6