xmos / vocalfusion-avs-setup

Repository containing scripts/helpers for configuring a Raspberry Pi to work with XMOS mic frontend
Other
13 stars 12 forks source link

Permission errors #29

Closed glenschofield closed 3 years ago

glenschofield commented 4 years ago

Hi After following all these rules and running the autoinstall.sh script,

source ~/vocalfusion-avs-setup/auto_install.sh

I get a few fatal errors and permission errors. Any ideas?

lucianomartin commented 4 years ago

HI @lukeyschofield , can you provide the logs with the errors? I will have a look.

glenschofield commented 4 years ago

HI @lukeyschofield , can you provide the logs with the errors? I will have a look.

Here is the output terminal I get:

pi@raspberrypi:~ $ source ~/vocalfusion-avs-setup/auto_install.sh
Updating VocalFusion Raspberry Pi Setup
HEAD is now at 4a0701f Changelog update
Installing VocalFusion Raspberry Pi Setup...
Installing Raspberry Pi kernel headers
Reading package lists... Done
Building dependency tree       
Reading state information... Done
raspberrypi-kernel-headers is already the newest version (1.20200819-1).
0 upgraded, 0 newly installed, 0 to remove and 43 not upgraded.
make -C /lib/modules/5.4.51-v7+/build SUBDIRS=/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/loader modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.51-v7+'
mkdir: cannot create directory ‘.tmp_2980’: Permission denied
mkdir: cannot create directory ‘.tmp_2982’: Permission denied
mkdir: cannot create directory ‘.tmp_2984’: Permission denied
mkdir: cannot create directory ‘.tmp_2986’: Permission denied
mkdir: cannot create directory ‘.tmp_2988’: Permission denied
mkdir: cannot create directory ‘.tmp_2990’: Permission denied
mkdir: cannot create directory ‘.tmp_2992’: Permission denied
mkdir: cannot create directory ‘.tmp_2994’: Permission denied
mkdir: cannot create directory ‘.tmp_2996’: Permission denied
mkdir: cannot create directory ‘.tmp_2998’: Permission denied
mkdir: cannot create directory ‘.tmp_3000’: Permission denied
mkdir: cannot create directory ‘.tmp_3002’: Permission denied
mkdir: cannot create directory ‘.tmp_3004’: Permission denied
mkdir: cannot create directory ‘.tmp_3009’: Permission denied
mkdir: cannot create directory ‘.tmp_3011’: Permission denied
mkdir: cannot create directory ‘.tmp_3013’: Permission denied
mkdir: cannot create directory ‘.tmp_3015’: Permission denied
mkdir: cannot create directory ‘.tmp_3017’: Permission denied
mkdir: cannot create directory ‘.tmp_3019’: Permission denied
mkdir: cannot create directory ‘.tmp_3021’: Permission denied
mkdir: cannot create directory ‘.tmp_3023’: Permission denied
mkdir: cannot create directory ‘.tmp_3025’: Permission denied
mkdir: cannot create directory ‘.tmp_3027’: Permission denied
mkdir: cannot create directory ‘.tmp_3029’: Permission denied
mkdir: cannot create directory ‘.tmp_3031’: Permission denied
mkdir: cannot create directory ‘.tmp_3034’: Permission denied
mkdir: cannot create directory ‘.tmp_3036’: Permission denied
mkdir: cannot create directory ‘.tmp_3038’: Permission denied
mkdir: cannot create directory ‘.tmp_3040’: Permission denied
mkdir: cannot create directory ‘.tmp_3042’: Permission denied
mkdir: cannot create directory ‘.tmp_3044’: Permission denied
mkdir: cannot create directory ‘.tmp_3046’: Permission denied
mkdir: cannot create directory ‘.tmp_3048’: Permission denied
mkdir: cannot create directory ‘.tmp_3050’: Permission denied
mkdir: cannot create directory ‘.tmp_3052’: Permission denied
mkdir: cannot create directory ‘.tmp_3054’: Permission denied
mkdir: cannot create directory ‘.tmp_3056’: Permission denied
mkdir: cannot create directory ‘.tmp_3058’: Permission denied
mkdir: cannot create directory ‘.tmp_3060’: Permission denied
mkdir: cannot create directory ‘.tmp_3062’: Permission denied
mkdir: cannot create directory ‘.tmp_3064’: Permission denied
mkdir: cannot create directory ‘.tmp_3086’: Permission denied
mkdir: cannot create directory ‘.tmp_3088’: Permission denied
mkdir: cannot create directory ‘.tmp_3090’: Permission denied
mkdir: cannot create directory ‘.tmp_3092’: Permission denied
mkdir: cannot create directory ‘.tmp_3094’: Permission denied
mkdir: cannot create directory ‘.tmp_3096’: Permission denied
mkdir: cannot create directory ‘.tmp_3098’: Permission denied
mkdir: cannot create directory ‘.tmp_3100’: Permission denied
mkdir: cannot create directory ‘.tmp_3102’: Permission denied
scripts/kconfig/conf  --syncconfig Kconfig

* Error during writing of the configuration.

make[3]: * [scripts/kconfig/Makefile:73: syncconfig] Error 1
make[2]: * [Makefile:567: syncconfig] Error 2
make[1]: * [Makefile:673: include/config/auto.conf.cmd] Error 2
make[1]: * [include/config/auto.conf.cmd] Deleting file 'include/config/tristate.conf'
make[1]: unlink: include/config/tristate.conf: Permission denied
make[1]: Leaving directory '/usr/src/linux-headers-5.4.51-v7+'
make: * [Makefile:5: default] Error 2
make -C /lib/modules/`uname -r`/build M=/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.51-v7+'
  CC [M]  /home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.o
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:4:10: fatal error: linux/i2c-gpio.h: No such file or directory
 #include <linux/i2c-gpio.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: * [scripts/Makefile.build:266: /home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.o] Error 1
make[1]: * [Makefile:1709: /home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.51-v7+'
make: * [Makefile:6: all] Error 2
pi@raspberrypi:~ $
Type a message...
glenschofield commented 4 years ago

As seen from another thread (https://github.com/xmos/vocalfusion-rpi-setup/issues/13#issuecomment-501100269) , a possible solution was changing #include <linux/i2c-gpio.h> to #include <linux/platform_data/i2c-gpio.

This introduced another error concerning sda_pin and scl_pin with an output terminal as indicated below:

make[3]: * [scripts/kconfig/Makefile:73: syncconfig] Error 1
make[2]: * [Makefile:567: syncconfig] Error 2
make[1]: * [Makefile:673: include/config/auto.conf.cmd] Error 2
make[1]: * [include/config/auto.conf.cmd] Deleting file 'include/config/tristate.conf'
make[1]: unlink: include/config/tristate.conf: Permission denied
make[1]: Leaving directory '/usr/src/linux-headers-5.4.51-v7+'
make: * [Makefile:5: default] Error 2
make -C /lib/modules/`uname -r`/build M=/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.51-v7+'
  CC [M]  /home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.o
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c: In function ‘add_bus_store’:
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:66:27: error: ‘struct i2c_gpio_platform_data’ has no member named ‘sda_pin’
                &id, &pdata.sda_pin, &pdata.scl_pin, &pdata.udelay, &pdata.timeout,
                           ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:66:43: error: ‘struct i2c_gpio_platform_data’ has no member named ‘scl_pin’
                &id, &pdata.sda_pin, &pdata.scl_pin, &pdata.udelay, &pdata.timeout,
                                           ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:82:21: error: ‘struct i2c_gpio_platform_data’ has no member named ‘sda_pin’
            id, pdata.sda_pin, pdata.scl_pin, pdata.udelay, pdata.timeout, pdata.sda_is_open_drain,
                     ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:82:36: error: ‘struct i2c_gpio_platform_data’ has no member named ‘scl_pin’
            id, pdata.sda_pin, pdata.scl_pin, pdata.udelay, pdata.timeout, pdata.sda_is_open_drain,
                                    ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c: In function ‘addbus’:
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:166:18: error: ‘struct i2c_gpio_platform_data’ has no member named ‘sda_pin’
         if (pdata.sda_pin==pin_blacklist[i] ||
                  ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:167:18: error: ‘struct i2c_gpio_platform_data’ has no member named ‘scl_pin’
             pdata.scl_pin==pin_blacklist[i]) {
                  ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c: In function ‘i2c_gpio_param_init’:
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:211:10: error: ‘struct i2c_gpio_platform_data’ has no member named ‘sda_pin’
     pdata.sda_pin = sda;
          ^
/home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.c:212:10: error: ‘struct i2c_gpio_platform_data’ has no member named ‘scl_pin’
     pdata.scl_pin = scl;
          ^
make[2]: * [scripts/Makefile.build:266: /home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param/i2c-gpio-param.o] Error 1
make[1]: * [Makefile:1709: /home/pi/vocalfusion-avs-setup/vocalfusion-rpi-setup/i2c-gpio-param] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.51-v7+'
make: * [Makefile:6: all] Error 2
pi@raspberrypi:~/vocalfusion-avs-setup $

I could have also fixed by changing the header file i2c-gpio.h to add these variables but do not have the permissions to do so.

glenschofield commented 4 years ago

Just like to add I am using a Raspberry pi 3+ with the most recent Raspberry Pi OS NOOBS 3.5.0

My guess is the auto_install.sh from gitHub has not been updated for the newest release of he Raspberry Pi OS (released as NOOBS in 2020-09-15)

lucianomartin commented 4 years ago

Hi @glenschofield, you are right about the script. We are in the process of updating it and hopefully we will be able to release a new version of the script in the coming weeks. Sorry for any inconvenience.

glenschofield commented 3 years ago

I have been able to successfully set up the xmos with this script by using an older version of Raspberry Pi OS from an older version of NOOBS.

Specifically, I used NOOBS v2.8.2 and installed this onto my Raspberry Pi.

DaveAtkinsonXMOS commented 3 years ago

Hi Glen, sorry your issue kind of got lost in the melee of Covid... Looking at the logs from you post, whatever problem you were having would be exacerbated by using kernel 5.xx We have nailed the install to a working kernel, and updated the docs, so I'm closing this issue.