0

我正在尝试在 Raspian Stretch 4.14.79-v7+ 上安装 Google AIY Vision Bonnet,如https://github.com/google/aiyprojects-raspbian/blob/aiyprojects/HACKING.md中所述,但是 aiy- 的构建vision-dkms 失败并出现很多错误。

我在 Python 虚拟环境中完成了所有步骤,因此定义如下:

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

我执行这些命令:

此时构建失败:

pi@raspberrypi:/var/lib/dkms $ sudo apt-get install -y aiy-vision-dkms
Reading package lists... Done
Building dependency tree        
Reading state information... Done
The following additional packages will be installed:
  aiy-dkms aiy-vision-firmware
The following NEW packages will be installed:
  aiy-dkms aiy-vision-dkms aiy-vision-firmware
0 upgraded, 3 newly installed, 0 to remove and 9 not upgraded.
Need to get 0 B/2,488 kB of archives.
After this operation, 6,983 kB of additional disk space will be used.
Selecting previously unselected package aiy-dkms.
(Reading database ... 172760 files and directories currently installed.)
Preparing to unpack .../aiy-dkms_1.1-2_all.deb ...
Unpacking aiy-dkms (1.1-2) ...
Selecting previously unselected package aiy-vision-firmware.
Preparing to unpack .../aiy-vision-firmware_1.2-0_all.deb ...
Unpacking aiy-vision-firmware (1.2-0) ...
Selecting previously unselected package aiy-vision-dkms.
Preparing to unpack .../aiy-vision-dkms_1.1-1_all.deb ...
Unpacking aiy-vision-dkms (1.1-1) ...
Setting up aiy-dkms (1.1-2) ...
Loading new aiy-1.1 DKMS files...
It is likely that 4.14.79-v7+ belongs to a chroot's host
Building for 3.6-trunk-rpi, 4.14.79+ and 4.14.79-v7+
Building initial module for 3.6-trunk-rpi
Error! Bad return status for module build on kernel: 3.6-trunk-rpi (armv7l)
Consult /var/lib/dkms/aiy/1.1/build/make.log for more information.
Setting up aiy-vision-firmware (1.2-0) ...
Setting up aiy-vision-dkms (1.1-1) ...
Loading new aiy-vision-1.1 DKMS files...
It is likely that 4.14.79-v7+ belongs to a chroot's host
Building for 3.6-trunk-rpi, 4.14.79+ and 4.14.79-v7+
Building initial module for 3.6-trunk-rpi
Error! Bad return status for module build on kernel: 3.6-trunk-rpi (armv7l)
Consult /var/lib/dkms/aiy-vision/1.1/build/make.log for more information.

以下是 /var/lib/dkms/aiy/1.1/build/make.log :

DKMS make.log for aiy-1.1 for kernel 3.6-trunk-rpi (armv7l)
Wed 30 Jan 22:03:20 CET 2019
make: Entering directory '/usr/src/linux-headers-3.6-trunk-rpi'
  LD      /var/lib/dkms/aiy/1.1/build/aiy/mfd/built-in.o
  LD      /var/lib/dkms/aiy/1.1/build/aiy/gpio/built-in.o
  LD      /var/lib/dkms/aiy/1.1/build/aiy/pwm/built-in.o
  CC [M]  /var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.o
  CC [M]  /var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.o
  LD      /var/lib/dkms/aiy/1.1/build/aiy/iio/adc/built-in.o
  CC [M]  /var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.o
  CC [M]  /var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.o
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:157:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:157:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:158:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:158:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:159:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:159:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:160:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:160:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:163:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:163:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:164:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:164:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:165:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:165:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:166:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:166:2: error: unknown field ‘info_mask_separate’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c: In function ‘aiy_adc_probe’:
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:176:2: error: implicit declaration of function ‘devm_iio_device_alloc’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.c:176:10: warning: assignment makes pointer from integer without a cast [enabled by default]
cc1: some warnings being treated as errors
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:313: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.o' failed
make[6]: *** [/var/lib/dkms/aiy/1.1/build/aiy/iio/adc/aiy-adc.o] Error 1
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:443: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/iio/adc' failed
make[5]: *** [/var/lib/dkms/aiy/1.1/build/aiy/iio/adc] Error 2
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:443: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/iio' failed
make[4]: *** [/var/lib/dkms/aiy/1.1/build/aiy/iio] Error 2
make[4]: *** Waiting for unfinished jobs....
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:27:18: error: field ‘chip’ has incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘to_aiy’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:58:28: warning: initialization from incompatible pointer type [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:58:28: warning: (near initialization for ‘aiy_pwm’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_calculate_8bit_settings’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:80:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘to_aiy’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:46:9: error: implicit declaration of function ‘gpiochip_get_data’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:46:27: warning: initialization makes pointer from integer without a cast [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:89:16: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_request’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:55:2: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:58:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_free’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:67:2: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:71:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:75:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c: In function ‘aiy_io_mcu_write_direct’:
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:86:2: error: implicit declaration of function ‘__i2c_transfer’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_direction_input’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:83:2: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c: In function ‘aiy_io_mcu_wait_alive’:
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:98:3: error: implicit declaration of function ‘msleep’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:87:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_get’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:100:2: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:104:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_set_impl’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:121:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_set’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:129:2: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:99:18: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_direction_output’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:139:2: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:144:15: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c: In function ‘aiy_io_update_firmware’:
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:174:2: error: implicit declaration of function ‘request_firmware_direct’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c: In function ‘aiy_gpio_probe’:
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:163:6: error: ‘struct gpio_chip’ has no member named ‘parent’
/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.c:175:2: error: implicit declaration of function ‘devm_gpiochip_add_data’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:106:4: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c: At top level:
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:304:34: error: array type has incomplete element type
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:305:2: error: field name not in record or union initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:305:2: error: (near initialization for ‘aiy_io_i2c_volatile_ranges’)
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:306:3: error: field name not in record or union initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:306:3: error: (near initialization for ‘aiy_io_i2c_volatile_ranges’)
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:307:2: error: field name not in record or union initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:307:2: error: (near initialization for ‘aiy_io_i2c_volatile_ranges’)
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:308:3: error: field name not in record or union initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:308:3: error: (near initialization for ‘aiy_io_i2c_volatile_ranges’)
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:311:21: error: variable ‘aiy_io_i2c_volatile_table’ has initializer but incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:312:2: error: unknown field ‘yes_ranges’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:312:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:312:2: warning: (near initialization for ‘aiy_io_i2c_volatile_table’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:313:2: error: unknown field ‘n_yes_ranges’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:313:18: error: negative width in bit-field ‘<anonymous>’
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:313:18: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:313:18: warning: (near initialization for ‘aiy_io_i2c_volatile_table’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:316:21: error: variable ‘aiy_io_i2c_regmap_config’ has initializer but incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:317:2: error: unknown field ‘reg_bits’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:317:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:317:2: warning: (near initialization for ‘aiy_io_i2c_regmap_config’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:318:2: error: unknown field ‘val_bits’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:318:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:318:2: warning: (near initialization for ‘aiy_io_i2c_regmap_config’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:319:2: error: unknown field ‘max_register’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:319:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:319:2: warning: (near initialization for ‘aiy_io_i2c_regmap_config’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:320:2: error: unknown field ‘volatile_table’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:320:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:320:2: warning: (near initialization for ‘aiy_io_i2c_regmap_config’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:321:2: error: unknown field ‘cache_type’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:321:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:321:2: warning: (near initialization for ‘aiy_io_i2c_regmap_config’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:322:2: error: unknown field ‘can_multi_write’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:322:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:322:2: warning: (near initialization for ‘aiy_io_i2c_regmap_config’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c: In function ‘aiy_io_i2c_probe’:
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:337:2: error: implicit declaration of function ‘devm_regmap_init_i2c’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:337:14: warning: assignment makes pointer from integer without a cast [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:372:29: error: ‘PLATFORM_DEVID_NONE’ undeclared (first use in this function)
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:372:29: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:373:10: warning: passing argument 3 of ‘mfd_add_devices’ discards ‘const’ qualifier from pointer target type [enabled by default]
/usr/src/linux-headers-3.6-trunk-common/include/linux/mfd/core.h:100:12: note: expected ‘struct mfd_cell *’ but argument is of type ‘const struct mfd_cell *’
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c: At top level:
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:421:1: warning: data definition has no type or storage class [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:421:1: warning: type defaults to ‘int’ in declaration of ‘module_i2c_driver’ [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:421:1: warning: parameter names (without types) in function declaration [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_calculate_16bit_settings’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:134:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_request’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:141:32: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:144:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:144:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:148:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:150:7: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_free’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:157:32: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:160:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:160:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:165:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:168:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_write_setting’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:184:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:192:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:198:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_8bit_config’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:212:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:219:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:223:39: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:226:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_16bit_config’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:241:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:246:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:250:39: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:252:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:304:34: warning: ‘aiy_io_i2c_volatile_ranges’ defined but not used [-Wunused-variable]
/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.c:411:26: warning: ‘aiy_io_i2c_driver’ defined but not used [-Wunused-variable]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_config’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:263:36: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:267:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:270:9: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:288:3: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:292:9: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_enable’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:305:36: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:310:9: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:311:3: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:314:3: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:320:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_disable’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:328:36: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:331:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:331:2: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:337:15: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:337:54: error: dereferencing pointer to incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: At top level:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:341:21: error: variable ‘aiy_pwm_ops’ has initializer but incomplete type
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:342:2: error: unknown field ‘request’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:342:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:342:2: warning: (near initialization for ‘aiy_pwm_ops’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:343:2: error: unknown field ‘free’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:343:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:343:2: warning: (near initialization for ‘aiy_pwm_ops’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:344:2: error: unknown field ‘config’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:344:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:344:2: warning: (near initialization for ‘aiy_pwm_ops’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:345:2: error: unknown field ‘enable’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:345:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:345:2: warning: (near initialization for ‘aiy_pwm_ops’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:346:2: error: unknown field ‘disable’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:346:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:346:2: warning: (near initialization for ‘aiy_pwm_ops’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:347:2: error: unknown field ‘owner’ specified in initializer
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:347:2: warning: excess elements in struct initializer [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:347:2: warning: (near initialization for ‘aiy_pwm_ops’) [enabled by default]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_probe’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:366:2: error: implicit declaration of function ‘pwmchip_add’ [-Werror=implicit-function-declaration]
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c: In function ‘aiy_pwm_remove’:
/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.c:380:2: error: implicit declaration of function ‘pwmchip_remove’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:313: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.o' failed
make[5]: *** [/var/lib/dkms/aiy/1.1/build/aiy/gpio/gpio-aiy-io.o] Error 1
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:443: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/gpio' failed
make[4]: *** [/var/lib/dkms/aiy/1.1/build/aiy/gpio] Error 2
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:313: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.o' failed
make[5]: *** [/var/lib/dkms/aiy/1.1/build/aiy/mfd/aiy-io-i2c.o] Error 1
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:443: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/mfd' failed
make[4]: *** [/var/lib/dkms/aiy/1.1/build/aiy/mfd] Error 2
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:313: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.o' failed
make[5]: *** [/var/lib/dkms/aiy/1.1/build/aiy/pwm/pwm-aiy-io.o] Error 1
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:443: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy/pwm' failed
make[4]: *** [/var/lib/dkms/aiy/1.1/build/aiy/pwm] Error 2
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:443: recipe for target '/var/lib/dkms/aiy/1.1/build/aiy' failed
make[3]: *** [/var/lib/dkms/aiy/1.1/build/aiy] Error 2
/usr/src/linux-headers-3.6-trunk-common/Makefile:1208: recipe for target '_module_/var/lib/dkms/aiy/1.1/build' failed
make[2]: *** [_module_/var/lib/dkms/aiy/1.1/build] Error 2
Makefile:130: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/usr/src/linux-headers-3.6-trunk-rpi'

以下是 /var/lib/dkms/aiy-vision/1.1/build/make.log :

DKMS make.log for aiy-vision-1.1 for kernel 3.6-trunk-rpi (armv7l)
Wed 30 Jan 22:03:35 CET 2019
make: Entering directory '/usr/src/linux-headers-3.6-trunk-rpi'
  LD      /var/lib/dkms/aiy-vision/1.1/build/built-in.o
  CC [M]  /var/lib/dkms/aiy-vision/1.1/build/aiy-vision.o
/var/lib/dkms/aiy-vision/1.1/build/aiy-vision.c:32:33: fatal error: linux/gpio/consumer.h: No such file or directory
compilation terminated.
/usr/src/linux-headers-3.6-trunk-common/scripts/Makefile.build:313: recipe for target '/var/lib/dkms/aiy-vision/1.1/build/aiy-vision.o' failed
make[3]: *** [/var/lib/dkms/aiy-vision/1.1/build/aiy-vision.o] Error 1
/usr/src/linux-headers-3.6-trunk-common/Makefile:1208: recipe for target '_module_/var/lib/dkms/aiy-vision/1.1/build' failed
make[2]: *** [_module_/var/lib/dkms/aiy-vision/1.1/build] Error 2
Makefile:130: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/usr/src/linux-headers-3.6-trunk-rpi'

你知道我能做什么吗?

谢谢

真挚地

4

1 回答 1

1

在 /lib/module 下,我注意到有一个旧的 3.6 内核,名为“3.6.trunk-rpi”。aiy 安装也在为这个内核编译。由于内核太旧,我怀疑这不起作用,我用sudo apt-get --purge remove linux-headers-3.6-trunk-common. 然后 aiy-vision-dkms 构建成功。

于 2019-02-05T23:31:43.703 回答