matrix-io / matrixio-kernel-modules

MATRIX HAL in kernel space
22 stars 23 forks source link

Install error #37

Closed BOSSoNe0013 closed 4 years ago

BOSSoNe0013 commented 5 years ago

install fail with those errors: make : on entre dans le répertoire « /usr/src/linux-headers-4.19.42-v7+ » CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-core.o CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-uart.o CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-everloop.o CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-codec.o /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:63:40: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration static int matrixio_codec_probe(struct snd_soc_codec *codec) { return 0; } ^~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:65:21: error: variable ‘matrixio_soc_codec_driver’ has initializer but incomplete type static const struct snd_soc_codec_driver matrixio_soc_codec_driver = { ^~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:5: error: unknown field ‘probe’ specified in initializer .probe = matrixio_codec_probe, ^ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:14: warning: excess elements in struct initializer .probe = matrixio_codec_probe, ^~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:14: note: (near initialization for ‘matrixio_soc_codec_driver’) /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:68:5: error: unknown field ‘component_driver’ specified in initializer .component_driver = ^ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: error: extra brace group at end of initializer { ^ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’) /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: warning: excess elements in struct initializer /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’) /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c: In function ‘matrixio_probe’: /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:111:8: error: implicit declaration of function ‘snd_soc_register_codec’ [-Werror=implicit-function-declaration] ret = snd_soc_register_codec(&pdev->dev, &matrixio_soc_codec_driver, ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c: At top level: /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:65:42: error: storage size of ‘matrixio_soc_codec_driver’ isn’t known static const struct snd_soc_codec_driver matrixio_soc_codec_driver = { ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-mic.o scripts/Makefile.build:309 : la recette pour la cible « /var/lib/dkms/matrixio/0.1/build/matrixio-codec.o » a échouée make[1]: *** [/var/lib/dkms/matrixio/0.1/build/matrixio-codec.o] Erreur 1 make[1]: *** Attente des tâches non terminées.... /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:260:21: error: variable ‘matrixio_soc_platform’ has initializer but incomplete type static const struct snd_soc_platform_driver matrixio_soc_platform = { ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:5: error: unknown field ‘ops’ specified in initializer .ops = &matrixio_pcm_ops, .pcm_new = matrixio_pcm_new, ^ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:12: warning: excess elements in struct initializer .ops = &matrixio_pcm_ops, .pcm_new = matrixio_pcm_new, ^ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:12: note: (near initialization for ‘matrixio_soc_platform’) /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:31: error: unknown field ‘pcm_new’ specified in initializer .ops = &matrixio_pcm_ops, .pcm_new = matrixio_pcm_new, ^ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:42: warning: excess elements in struct initializer .ops = &matrixio_pcm_ops, .pcm_new = matrixio_pcm_new, ^~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:42: note: (near initialization for ‘matrixio_soc_platform’) /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c: In function ‘matrixio_pcm_platform_probe’: /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:284:6: error: implicit declaration of function ‘devm_snd_soc_register_platform’ [-Werror=implicit-function-declaration] devm_snd_soc_register_platform(&pdev->dev, &matrixio_soc_platform); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c: At top level: /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:260:45: error: storage size of ‘matrixio_soc_platform’ isn’t known static const struct snd_soc_platform_driver matrixio_soc_platform = { ^~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors scripts/Makefile.build:309 : la recette pour la cible « /var/lib/dkms/matrixio/0.1/build/matrixio-mic.o » a échouée make[1]: *** [/var/lib/dkms/matrixio/0.1/build/matrixio-mic.o] Erreur 1 Makefile:1524 : la recette pour la cible « _module_/var/lib/dkms/matrixio/0.1/build » a échouée make: *** [_module_/var/lib/dkms/matrixio/0.1/build] Erreur 2 make : on quitte le répertoire « /usr/src/linux-headers-4.19.42-v7+ »

Same error when building from sources. Thanks

candrea21 commented 5 years ago

same here

DKMS make.log for matrixio-0.1 for kernel 4.19.42-v7+ (armv7l)
Sat 18 May 16:26:53 CEST 2019
make: Entering directory '/usr/src/linux-headers-4.19.42-v7+'
  CC [M]  /var/lib/dkms/matrixio/0.1/build/matrixio-core.o
  CC [M]  /var/lib/dkms/matrixio/0.1/build/matrixio-uart.o
  CC [M]  /var/lib/dkms/matrixio/0.1/build/matrixio-everloop.o
  CC [M]  /var/lib/dkms/matrixio/0.1/build/matrixio-codec.o
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:63:40: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration
 static int matrixio_codec_probe(struct snd_soc_codec *codec) { return 0; }
                                        ^~~~~~~~~~~~~
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:65:21: error: variable ‘matrixio_soc_codec_driver’ has initializer but incomplete type
 static const struct snd_soc_codec_driver matrixio_soc_codec_driver = {
                     ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:5: error: unknown field ‘probe’ specified in initializer
     .probe = matrixio_codec_probe,
     ^
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:14: warning: excess elements in struct initializer
     .probe = matrixio_codec_probe,
              ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:14: note: (near initialization for ‘matrixio_soc_codec_driver’)
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:68:5: error: unknown field ‘component_driver’ specified in initializer
     .component_driver =
     ^
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: error: extra brace group at end of initializer
  {
  ^
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’)
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: warning: excess elements in struct initializer
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’)
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c: In function ‘matrixio_probe’:
/var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:111:8: error: implicit declaration of function ‘snd_soc_register_codec’ [-Werror=implicit-function-declaration]
bizrockman commented 5 years ago

Hi,

me too

APT:

Runs this command: make -j4 KERNELRELEASE=4.19.42-v7+ -C /lib/modules/4.19.42-v7+/build M=/var/lib/dkms/matrixio/0.1/build.....

DKMS make.log for matrixio-0.1 for kernel 4.19.42-v7+ (armv7l)
Sa 18. Mai 18:52:55 UTC 2019
make: Verzeichnis „/usr/src/linux-headers-4.19.42-v7+“ wird betreten
.....

rest like the log from candea21

MAKE direct from the sources:

make -C /lib/modules/4.19.42-v7+/build M=/home/pi/matrixio-kernel-modules/src modules
make[1]: Verzeichnis „/usr/src/linux-headers-4.19.42-v7+“ wird betreten
  CC [M]  /home/pi/matrixio-kernel-modules/src/matrixio-codec.o
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:63:40: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration
 static int matrixio_codec_probe(struct snd_soc_codec *codec) { return 0; }
                                        ^~~~~~~~~~~~~
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:65:21: error: variable ‘matrixio_soc_codec_driver’ has initializer but incomplete type
 static const struct snd_soc_codec_driver matrixio_soc_codec_driver = {
                     ^~~~~~~~~~~~~~~~~~~~
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:67:5: error: unknown field ‘probe’ specified in initializer
     .probe = matrixio_codec_probe,
     ^
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:67:14: warning: excess elements in struct initializer
     .probe = matrixio_codec_probe,
              ^~~~~~~~~~~~~~~~~~~~
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:67:14: note: (near initialization for ‘matrixio_soc_codec_driver’)
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:68:5: error: unknown field ‘component_driver’ specified in initializer
     .component_driver =
     ^
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:69:2: error: extra brace group at end of initializer
  {
  ^
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’)
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:69:2: warning: excess elements in struct initializer
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’)
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c: In function ‘matrixio_probe’:
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:111:8: error: implicit declaration of function ‘snd_soc_register_codec’ [-Werror=implicit-function-declaration]
  ret = snd_soc_register_codec(&pdev->dev, &matrixio_soc_codec_driver,
        ^~~~~~~~~~~~~~~~~~~~~~
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c: At top level:
/home/pi/matrixio-kernel-modules/src/matrixio-codec.c:65:42: error: storage size of ‘matrixio_soc_codec_driver’ isn’t known
 static const struct snd_soc_codec_driver matrixio_soc_codec_driver = {
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:309: die Regel für Ziel „/home/pi/matrixio-kernel-modules/src/matrixio-codec.o“ scheiterte
make[2]: *** [/home/pi/matrixio-kernel-modules/src/matrixio-codec.o] Fehler 1
Makefile:1524: die Regel für Ziel „_module_/home/pi/matrixio-kernel-modules/src“ scheiterte
make[1]: *** [_module_/home/pi/matrixio-kernel-modules/src] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-4.19.42-v7+“ wird verlassen
Makefile:15: die Regel für Ziel „all“ scheiterte
Pumlux commented 5 years ago

It looks like I suffer from the same issue.

I'm trying to install matrixio-kernel-modules on Raspian Stretch desktop version. The install is aborted, see below the screen output.

Can anyone help to get the matrixio-kernel-modules installed ?

`pi@raspberrypi-3B:~ $ sudo apt install matrixio-kernel-modules Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden NEUEN Pakete werden installiert: matrixio-kernel-modules 0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen noch 0 B von 17,7 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 109 kB Plattenplatz zusätzlich benutzt. Vormals nicht ausgewähltes Paket matrixio-kernel-modules wird gewählt. (Lese Datenbank ... 182125 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../matrixio-kernel-modules_0.1.6_armhf.deb ... Entpacken von matrixio-kernel-modules (0.1.6) ... matrixio-kernel-modules (0.1.6) wird eingerichtet ... Enabling firmware loading at startup

Creating symlink /var/lib/dkms/matrixio/0.1/source -> /usr/src/matrixio-0.1

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping...

Building module: cleaning build area... make -j4 KERNELRELEASE=4.19.42-v7+ -C /lib/modules/4.19.42-v7+/build M=/var/lib/dkms/matrixio/0.1/build.....(bad exit status: 2) Error! Bad return status for module build on kernel: 4.19.42-v7+ (armv7l) Consult /var/lib/dkms/matrixio/0.1/build/make.log for more information. dpkg: Fehler beim Bearbeiten des Paketes matrixio-kernel-modules (--configure): Unterprozess installiertes post-installation-Skript gab den Fehlerwert 10 zurück Fehler traten auf beim Bearbeiten von: matrixio-kernel-modules E: Sub-process /usr/bin/dpkg returned an error code (1)`

Here the details from the log file.

pi@raspberrypi-3B:~ $ vi /var/lib/dkms/matrixio/0.1/build/make.log DKMS make.log for matrixio-0.1 for kernel 4.19.42-v7+ (armv7l) Mo 20. Mai 11:18:36 CEST 2019 make: Verzeichnis „/usr/src/linux-headers-4.19.42-v7+“ wird betreten CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-core.o CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-uart.o CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-everloop.o CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-codec.o /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:63:40: warning: ‘struct snd_soc_codec’ declared inside parameter list will not be visible outside of this definition or declaration static int matrixio_codec_probe(struct snd_soc_codec *codec) { return 0; } ^~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:65:21: error: variable ‘matrixio_soc_codec_driver’ has initializer but incomplete type static const struct snd_soc_codec_driver matrixio_soc_codec_driver = { ^~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:5: error: unknown field ‘probe’ specified in initializer .probe = matrixio_codec_probe, ^ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:14: warning: excess elements in struct initializer .probe = matrixio_codec_probe, ^~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:67:14: note: (near initialization for ‘matrixio_soc_codec_driver’) /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:68:5: error: unknown field ‘component_driver’ specified in initializer .component_driver = ^ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: error: extra brace group at end of initializer { ^ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’) /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: warning: excess elements in struct initializer /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:69:2: note: (near initialization for ‘matrixio_soc_codec_driver’) /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c: In function ‘matrixio_probe’: /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:111:8: error: implicit declaration of function ‘snd_soc_register_codec’ [-Werror=implicit-function-declaration] ret = snd_soc_register_codec(&pdev->dev, &matrixio_soc_codec_driver, ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c: At top level: /var/lib/dkms/matrixio/0.1/build/matrixio-codec.c:65:42: error: storage size of ‘matrixio_soc_codec_driver’ isn’t known static const struct snd_soc_codec_driver matrixio_soc_codec_driver = { ^~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/matrixio/0.1/build/matrixio-mic.o cc1: some warnings being treated as errors scripts/Makefile.build:309: die Regel für Ziel „/var/lib/dkms/matrixio/0.1/build/matrixio-codec.o“ scheiterte make[1]: *** [/var/lib/dkms/matrixio/0.1/build/matrixio-codec.o] Fehler 1 make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet... /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:260:21: error: variable ‘matrixio_soc_platform’ has initializer but incomplete type static const struct snd_soc_platform_driver matrixio_soc_platform = { ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/matrixio/0.1/build/matrixio-mic.c:261:5: error: unknown field ‘ops’ specified in initializer .ops = &matrixio_pcm_ops, .pcm_new = matrixio_pcm_new, ^

I tried compiling from the guthub resources also, but this is failing too. The output may be better readable, but is in German. See screenshot below.

screenshot matrixio-kernel-modules installation error

richardklingler commented 5 years ago

Guess there won't be any solution to this problem in near time...

Is there a known stretch version/RPi board combination that actually works? Wanted to showcase this as an input device alternative this week in the office (o;

bizrockman commented 5 years ago

Maybe someone has the binaries? That should work or not?

I have an old image on what that is working, but I have not enough knowledge to install the module by hand.

cmetz commented 5 years ago

the latest raspbian update has bumped the kernel version from 4.14 to 4.19. Between these versions the soc drivers got changed from platform/codec to components and the current matrixio-kernel-modules do not reflect this.

Update:

Please follow the steps here, they are more convenient:

https://community.matrix.one/t/kernel-modules-4-19-workaround/2413

Previous:

If you really want to downgrade the kernel you can try using following steps, but be careful. i'm not responsible if you break your system, as rpi-update and rpi-source is not suggested if you don't know what you are doing

you need https://github.com/Hexxeh/rpi-update and https://github.com/notro/rpi-source

sudo rpi-update a08ece3d48c3c40bf1b501772af9933249c11c5b
sudo reboot
sudo rpi-source
sudo dkms remove matrixio/0.1 --all
sudo apt install (--reinstall) matrixio-kernel-modules <-- the reinstall is optional if the matrix kernel modules are installed already
sudo reboot
jiffyspace commented 5 years ago

I can confirm, the above workaround makes the matrixio-kernel-modules installable again. Didn't test anything further yet, though.

Pumlux commented 5 years ago

Thanks cmetz,

with your hints the matrixio-kernel-modules could be installed in the end. On my system (Raspian Stretch desktop version) the packages for rpi-source , bc and libncurses5-dev was missing . I could add the mssing packages with this statements :

sudo apt-get install bc sudo apt-get install libncurses5-dev sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update

richardklingler commented 5 years ago

The matrix module installs fine with this method ;-)

Though...the direction of arrival demo crashes the RPi (A+) after few minutes...

samreenislam commented 5 years ago

As mentioned above, we have a temporary workaround as we update the MATRIX kernel modules on our end: https://community.matrix.one/t/kernel-modules-4-19-workaround/2413