Raspberry 3 troubles
-
I have installed Raspbian Jessie on a new RPI3, after that I tried to add MySensors at it.
But it failed with the errors below. Can anyone tell how to fix that ?
This is what I have done:
cd /home/pi
git clone https://github.com/mysensors/MySensors.git --branch development
cd MySensors
./configure --my-transport=nrf24 --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020
makeThanks!
;-) Arthur
pi@raspberrypi:~/MySensors $ make g++ -MT build/drivers/Linux/SPIDEV.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a 53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_SERIAL -DM Y_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -DMY_LINUX_SERIAL_PTY=\"/dev/tt yUSB020\" -DMY_LINUX_IS_SERIAL_PTY -Ofast -g -Wall -Wextra -I. -I./core -I./dr ivers/Linux -I./drivers/BCM -c drivers/Linux/SPIDEV.cpp -o build/drivers/Linux/S PIDEV.o In file included from /usr/include/linux/spi/spidev.h:25:0, from drivers/Linux/SPIDEV.h:27, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/types.h:1:2: error: invalid preprocessing directive #ifn #ifn`ef _LINUX_TYPES_H ^ In file included from /usr/include/linux/spi/spidev.h:25:0, from drivers/Linux/SPIDEV.h:27, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/types.h:6:8: error: macro names must be identifiers #ifndef▒__ASSEMBLY__ ^ /usr/include/linux/types.h:6:0: error: unterminated #ifndef #ifndef▒__ASSEMBLY__ ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/spi/spidev.h:98:2: error: stray '\33' in program __u8 cs]aha.gE /usr/include/linux/spi/spidev.h:125:2: error: invalid preprocessing directive #d efine0SPI_IOC_RD_L #debine SPI_IOC_WR_LS_FIRST _IoW(SPI▒IOC_MAGIC, 2, __u8) ^ /usr/include/linux/spi/spidev.h:126:2: error: invalid preprocessing directive #d ebine ^ /usr/include/linux/spi/spidev.h:129:8: error: macro names must be identifiers !define SPK_IO_WS_BITS_PeR_WORD _IOSPI_IOC_MAGIC, 3, __u8) ^ /usr/include/linux/spi/spidev.h:130:1: error: stray '\3' in program ^ /usr/include/linux/spi/spidev.h:130:1: error: stray '\10' in program drivers/Linux/SPIDEV.cpp:153:41: error: macro "_IOW" passed 4 arguments, but tak es just 3 ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ drivers/Linux/SPIDEV.cpp:175:41: error: macro "_IOW" passed 4 arguments, but tak es just 3 ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/spi/spidev.h:94:2: error: '__u12' does not name a type __u12 sp%ed_hz; ^ /usr/include/linux/spi/spidev.h:98:8: error: expected ';' at end of member decla ration __u8 cs]aha.gE /usr/include/linux/spi/spidev.h:98:10: error: expected unqualified-id before ']' token __u8 cs]aha.gE /usr/include/linux/spi/spidev.h:130:1: error: expected unqualified-id before '!' token ^ drivers/Linux/SPIDEV.cpp:42:63: error: too many initializers for 'spi_ioc_transf er' struct spi_ioc_transfer SPIDEVClass::tr = {0,0,0,0,0,8,1,0,0,0}; // 8 bits_per_ word, 1 cs_change ^ drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::se tBitOrder(uint8_t)': drivers/Linux/SPIDEV.cpp:89:22: error: 'SPI_IOC_WR_LSB_FIRST' was not declared i n this scope int ret = ioctl(fd, SPI_IOC_WR_LSB_FIRST, &lsb_setting); ^ In file included from /usr/include/arm-linux-gnueabihf/asm/ioctl.h:1:0, from /usr/include/linux/ioctl.h:4, from /usr/include/asm-generic/ioctls.h:4, from /usr/include/arm-linux-gnueabihf/asm/ioctls.h:6, from /usr/include/arm-linux-gnueabihf/bits/ioctls.h:23, from /usr/include/arm-linux-gnueabihf/sys/ioctl.h:26, from drivers/Linux/SPIDEV.cpp:27: drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::se tDataMode(uint8_t)': drivers/Linux/SPIDEV.cpp:105:22: error: 'SRI_IOC_MAGIC' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &data_mode); ^ drivers/Linux/SPIDEV.cpp:105:22: error: '__58' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &data_mode); ^ drivers/Linux/SPIDEV.cpp: In static member function 'static uint8_t SPIDEVClass: :transfer(uint8_t)': drivers/Linux/SPIDEV.cpp:151:5: error: 'struct spi_ioc_transfer' has no member n amed 'speed_hz' tr.speed_hz = speed; ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: drivers/Linux/SPIDEV.cpp:153:18: error: '_IOW' was not declared in this scope ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::tr ansfernb(char*, char*, uint32_t)': drivers/Linux/SPIDEV.cpp:173:5: error: 'struct spi_ioc_transfer' has no member n amed 'speed_hz' tr.speed_hz = speed; ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: drivers/Linux/SPIDEV.cpp:175:18: error: '_IOW' was not declared in this scope ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ In file included from /usr/include/arm-linux-gnueabihf/asm/ioctl.h:1:0, from /usr/include/linux/ioctl.h:4, from /usr/include/asm-generic/ioctls.h:4, from /usr/include/arm-linux-gnueabihf/asm/ioctls.h:6, from /usr/include/arm-linux-gnueabihf/bits/ioctls.h:23, from /usr/include/arm-linux-gnueabihf/sys/ioctl.h:26, from drivers/Linux/SPIDEV.cpp:27: drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::be ginTransaction(SPISettings)': drivers/Linux/SPIDEV.cpp:198:18: error: 'SRI_IOC_MAGIC' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_MODE, &settings.dmode); ^ drivers/Linux/SPIDEV.cpp:198:18: error: '__58' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_MODE, &settings.dmode); ^ drivers/Linux/SPIDEV.cpp:211:18: error: 'SPI_IOC_WR_LSB_FIRST' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_LSB_FIRST, &settings.border); ^ In file included from /usr/include/arm-linux-gnueabihf/asm/ioctl.h:1:0, from /usr/include/linux/ioctl.h:4, from /usr/include/asm-generic/ioctls.h:4, from /usr/include/arm-linux-gnueabihf/asm/ioctls.h:6, from /usr/include/arm-linux-gnueabihf/bits/ioctls.h:23, from /usr/include/arm-linux-gnueabihf/sys/ioctl.h:26, from drivers/Linux/SPIDEV.cpp:27: drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::in it()': drivers/Linux/SPIDEV.cpp:252:22: error: 'SRI_IOC_MAGIC' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &mode); ^ drivers/Linux/SPIDEV.cpp:252:22: error: '__58' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &mode); ^ drivers/Linux/SPIDEV.cpp:262:18: error: 'SPI_IOC_WR_BITS_PER_WORD' was not decla red in this scope ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits); ^ drivers/Linux/SPIDEV.cpp:282:18: error: 'SPI_IOC_WR_LSB_FIRST' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_LSB_FIRST, &lsb_setting); ^ Makefile:98: recept voor doel 'build/drivers/Linux/SPIDEV.o' is mislukt make: *** [build/drivers/Linux/SPIDEV.o] Fout 1 pi@raspberrypi:~/MySensors $ -
I have installed Raspbian Jessie on a new RPI3, after that I tried to add MySensors at it.
But it failed with the errors below. Can anyone tell how to fix that ?
This is what I have done:
cd /home/pi
git clone https://github.com/mysensors/MySensors.git --branch development
cd MySensors
./configure --my-transport=nrf24 --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020
makeThanks!
;-) Arthur
pi@raspberrypi:~/MySensors $ make g++ -MT build/drivers/Linux/SPIDEV.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a 53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_SERIAL -DM Y_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -DMY_LINUX_SERIAL_PTY=\"/dev/tt yUSB020\" -DMY_LINUX_IS_SERIAL_PTY -Ofast -g -Wall -Wextra -I. -I./core -I./dr ivers/Linux -I./drivers/BCM -c drivers/Linux/SPIDEV.cpp -o build/drivers/Linux/S PIDEV.o In file included from /usr/include/linux/spi/spidev.h:25:0, from drivers/Linux/SPIDEV.h:27, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/types.h:1:2: error: invalid preprocessing directive #ifn #ifn`ef _LINUX_TYPES_H ^ In file included from /usr/include/linux/spi/spidev.h:25:0, from drivers/Linux/SPIDEV.h:27, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/types.h:6:8: error: macro names must be identifiers #ifndef▒__ASSEMBLY__ ^ /usr/include/linux/types.h:6:0: error: unterminated #ifndef #ifndef▒__ASSEMBLY__ ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/spi/spidev.h:98:2: error: stray '\33' in program __u8 cs]aha.gE /usr/include/linux/spi/spidev.h:125:2: error: invalid preprocessing directive #d efine0SPI_IOC_RD_L #debine SPI_IOC_WR_LS_FIRST _IoW(SPI▒IOC_MAGIC, 2, __u8) ^ /usr/include/linux/spi/spidev.h:126:2: error: invalid preprocessing directive #d ebine ^ /usr/include/linux/spi/spidev.h:129:8: error: macro names must be identifiers !define SPK_IO_WS_BITS_PeR_WORD _IOSPI_IOC_MAGIC, 3, __u8) ^ /usr/include/linux/spi/spidev.h:130:1: error: stray '\3' in program ^ /usr/include/linux/spi/spidev.h:130:1: error: stray '\10' in program drivers/Linux/SPIDEV.cpp:153:41: error: macro "_IOW" passed 4 arguments, but tak es just 3 ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ drivers/Linux/SPIDEV.cpp:175:41: error: macro "_IOW" passed 4 arguments, but tak es just 3 ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: /usr/include/linux/spi/spidev.h:94:2: error: '__u12' does not name a type __u12 sp%ed_hz; ^ /usr/include/linux/spi/spidev.h:98:8: error: expected ';' at end of member decla ration __u8 cs]aha.gE /usr/include/linux/spi/spidev.h:98:10: error: expected unqualified-id before ']' token __u8 cs]aha.gE /usr/include/linux/spi/spidev.h:130:1: error: expected unqualified-id before '!' token ^ drivers/Linux/SPIDEV.cpp:42:63: error: too many initializers for 'spi_ioc_transf er' struct spi_ioc_transfer SPIDEVClass::tr = {0,0,0,0,0,8,1,0,0,0}; // 8 bits_per_ word, 1 cs_change ^ drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::se tBitOrder(uint8_t)': drivers/Linux/SPIDEV.cpp:89:22: error: 'SPI_IOC_WR_LSB_FIRST' was not declared i n this scope int ret = ioctl(fd, SPI_IOC_WR_LSB_FIRST, &lsb_setting); ^ In file included from /usr/include/arm-linux-gnueabihf/asm/ioctl.h:1:0, from /usr/include/linux/ioctl.h:4, from /usr/include/asm-generic/ioctls.h:4, from /usr/include/arm-linux-gnueabihf/asm/ioctls.h:6, from /usr/include/arm-linux-gnueabihf/bits/ioctls.h:23, from /usr/include/arm-linux-gnueabihf/sys/ioctl.h:26, from drivers/Linux/SPIDEV.cpp:27: drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::se tDataMode(uint8_t)': drivers/Linux/SPIDEV.cpp:105:22: error: 'SRI_IOC_MAGIC' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &data_mode); ^ drivers/Linux/SPIDEV.cpp:105:22: error: '__58' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &data_mode); ^ drivers/Linux/SPIDEV.cpp: In static member function 'static uint8_t SPIDEVClass: :transfer(uint8_t)': drivers/Linux/SPIDEV.cpp:151:5: error: 'struct spi_ioc_transfer' has no member n amed 'speed_hz' tr.speed_hz = speed; ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: drivers/Linux/SPIDEV.cpp:153:18: error: '_IOW' was not declared in this scope ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::tr ansfernb(char*, char*, uint32_t)': drivers/Linux/SPIDEV.cpp:173:5: error: 'struct spi_ioc_transfer' has no member n amed 'speed_hz' tr.speed_hz = speed; ^ In file included from drivers/Linux/SPIDEV.h:27:0, from drivers/Linux/SPIDEV.cpp:22: drivers/Linux/SPIDEV.cpp:175:18: error: '_IOW' was not declared in this scope ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); ^ In file included from /usr/include/arm-linux-gnueabihf/asm/ioctl.h:1:0, from /usr/include/linux/ioctl.h:4, from /usr/include/asm-generic/ioctls.h:4, from /usr/include/arm-linux-gnueabihf/asm/ioctls.h:6, from /usr/include/arm-linux-gnueabihf/bits/ioctls.h:23, from /usr/include/arm-linux-gnueabihf/sys/ioctl.h:26, from drivers/Linux/SPIDEV.cpp:27: drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::be ginTransaction(SPISettings)': drivers/Linux/SPIDEV.cpp:198:18: error: 'SRI_IOC_MAGIC' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_MODE, &settings.dmode); ^ drivers/Linux/SPIDEV.cpp:198:18: error: '__58' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_MODE, &settings.dmode); ^ drivers/Linux/SPIDEV.cpp:211:18: error: 'SPI_IOC_WR_LSB_FIRST' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_LSB_FIRST, &settings.border); ^ In file included from /usr/include/arm-linux-gnueabihf/asm/ioctl.h:1:0, from /usr/include/linux/ioctl.h:4, from /usr/include/asm-generic/ioctls.h:4, from /usr/include/arm-linux-gnueabihf/asm/ioctls.h:6, from /usr/include/arm-linux-gnueabihf/bits/ioctls.h:23, from /usr/include/arm-linux-gnueabihf/sys/ioctl.h:26, from drivers/Linux/SPIDEV.cpp:27: drivers/Linux/SPIDEV.cpp: In static member function 'static void SPIDEVClass::in it()': drivers/Linux/SPIDEV.cpp:252:22: error: 'SRI_IOC_MAGIC' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &mode); ^ drivers/Linux/SPIDEV.cpp:252:22: error: '__58' was not declared in this scope int ret = ioctl(fd, SPI_IOC_WR_MODE, &mode); ^ drivers/Linux/SPIDEV.cpp:262:18: error: 'SPI_IOC_WR_BITS_PER_WORD' was not decla red in this scope ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits); ^ drivers/Linux/SPIDEV.cpp:282:18: error: 'SPI_IOC_WR_LSB_FIRST' was not declared in this scope ret = ioctl(fd, SPI_IOC_WR_LSB_FIRST, &lsb_setting); ^ Makefile:98: recept voor doel 'build/drivers/Linux/SPIDEV.o' is mislukt make: *** [build/drivers/Linux/SPIDEV.o] Fout 1 pi@raspberrypi:~/MySensors $@arthur I took the liberty to press the code block button (looks like this: </> ) to make the output more readable.
It looks like your /usr/include/linux/types.h file is damaged. This is what the top of that file looks on my system:
pi@raspberrypi:~ $ head /usr/include/linux/types.h #ifndef _LINUX_TYPES_H #define _LINUX_TYPES_H #include <asm/types.h> #ifndef __ASSEMBLY__ #include <linux/posix_types.h>Could you post yours?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login