config.h:39 : first defined here
-
I am trying to build a Raspberry PI controller.
I am using:- Raspberry Pi 3B+
- Arch Linux
- RFM69HCW attached to the GPIO pins
I followed the instructions on https://www.mysensors.org/build/raspberry/, however i get an error when i run
make
:/usr/bin/ld: build/examples_linux/mysgw.o:/home/oznerol/git/MySensors/./hal/architecture/Linux/drivers/core/config.h:39: multiple definition of `conf'; build/hal/architecture/Linux/drivers/core/config.o:/home/oznerol/git/MySensors/hal/architecture/Linux/drivers/core/config.h:39: first defined here
The error talks about a struct called
conf
, that gets defined in the mentioned files.
And idea what this error is and how i can fix it?The error happens both with actual config settigns as well as with a plain
./configure
.
Full compile log:[oznerol@goofball MySensors]$ make gcc -MT build/hal/architecture/Linux/drivers/core/config.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/config.c -o build/hal/architecture/Linux/drivers/core/config.o gcc -MT build/hal/architecture/Linux/drivers/core/log.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/log.c -o build/hal/architecture/Linux/drivers/core/log.o g++ -MT build/hal/architecture/Linux/drivers/core/EthernetClient.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetClient.cpp -o build/hal/architecture/Linux/drivers/core/EthernetClient.o g++ -MT build/hal/architecture/Linux/drivers/core/EthernetServer.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetServer.cpp -o build/hal/architecture/Linux/drivers/core/EthernetServer.o g++ -MT build/hal/architecture/Linux/drivers/core/GPIO.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/GPIO.cpp -o build/hal/architecture/Linux/drivers/core/GPIO.o hal/architecture/Linux/drivers/core/GPIO.cpp: In constructor 'GPIOClass::GPIOClass()': hal/architecture/Linux/drivers/core/GPIO.cpp:53:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=] 53 | snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name); | ^~ hal/architecture/Linux/drivers/core/GPIO.cpp:53:12: note: 'snprintf' output between 22 and 277 bytes into a destination of size 64 53 | snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hal/architecture/Linux/drivers/core/GPIO.cpp:62:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=] 62 | snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name); | ^~ hal/architecture/Linux/drivers/core/GPIO.cpp:62:12: note: 'snprintf' output between 23 and 278 bytes into a destination of size 64 62 | snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -MT build/hal/architecture/Linux/drivers/core/IPAddress.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/IPAddress.cpp -o build/hal/architecture/Linux/drivers/core/IPAddress.o g++ -MT build/hal/architecture/Linux/drivers/core/Print.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Print.cpp -o build/hal/architecture/Linux/drivers/core/Print.o g++ -MT build/hal/architecture/Linux/drivers/core/SPIDEV.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SPIDEV.cpp -o build/hal/architecture/Linux/drivers/core/SPIDEV.o hal/architecture/Linux/drivers/core/SPIDEV.cpp:43:63: warning: missing initializer for member 'spi_ioc_transfer::pad' [-Wmissing-field-initializers] 43 | struct spi_ioc_transfer SPIDEVClass::tr = {0,0,0,0,0,8,0,0,0,0}; // 8 bits_per_word, 0 cs_change | ^ g++ -MT build/hal/architecture/Linux/drivers/core/SerialPort.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SerialPort.cpp -o build/hal/architecture/Linux/drivers/core/SerialPort.o g++ -MT build/hal/architecture/Linux/drivers/core/SoftEeprom.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SoftEeprom.cpp -o build/hal/architecture/Linux/drivers/core/SoftEeprom.o g++ -MT build/hal/architecture/Linux/drivers/core/StdInOutStream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/StdInOutStream.cpp -o build/hal/architecture/Linux/drivers/core/StdInOutStream.o g++ -MT build/hal/architecture/Linux/drivers/core/Stream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Stream.cpp -o build/hal/architecture/Linux/drivers/core/Stream.o g++ -MT build/hal/architecture/Linux/drivers/core/compatibility.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/compatibility.cpp -o build/hal/architecture/Linux/drivers/core/compatibility.o g++ -MT build/hal/architecture/Linux/drivers/core/interrupt.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/interrupt.cpp -o build/hal/architecture/Linux/drivers/core/interrupt.o g++ -MT build/hal/architecture/Linux/drivers/core/noniso.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/noniso.cpp -o build/hal/architecture/Linux/drivers/core/noniso.o g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o In file included from ./MySensors.h:358, from examples_linux/mysgw.cpp:82: In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 33 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 49 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 65 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 81 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 97 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 113 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 129 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 145 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 161 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 177 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 193 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 209 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)', inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33: ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=] 82 | *ptx++ = *current++; | ~~~~~~~^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)': ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 225 to object 'RF24_spi_txbuff' with size 33 declared here 41 | uint8_t RF24_spi_txbuff[32+1] | ^~~~~~~~~~~~~~~ In file included from ./MySensors.h:431, from examples_linux/mysgw.cpp:82: In member function 'char* MyMessage::getString(char*) const', inlined from 'char* protocolMyMessage2Serial(MyMessage&)' at ./core/MyProtocol.cpp:93:8: ./core/MyMessage.cpp:284:17: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation] 284 | (void)strncpy(buffer, this->data, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./core/MyMessage.cpp: In member function 'char* MyMessage::getString(char*) const': ./core/MyMessage.cpp:284:17: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation] 284 | (void)strncpy(buffer, this->data, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void stParentTransition()' at ./core/MyTransport.cpp:161:29: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void stIDTransition()' at ./core/MyTransport.cpp:218:30, inlined from 'void stIDTransition()' at ./core/MyTransport.cpp:202:6: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void stReadyUpdate()' at ./core/MyTransport.cpp:312:30: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'bool present(uint8_t, mysensors_sensor_t, const char*, bool)' at ./core/MySensorsCore.cpp:379:19, inlined from 'void presentNode()' at ./core/MySensorsCore.cpp:233:15: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90, inlined from 'bool signerInternalProcessPresentation(MyMessage&)' at ./core/MySigning.cpp:488:28, inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:176:42, inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:171:6: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'bool request(uint8_t, uint8_t, uint8_t)' at ./core/MySensorsCore.cpp:429:19: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'bool requestTime(bool)' at ./core/MySensorsCore.cpp:434:19: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'bool _processInternalCoreMessage()' at ./core/MySensorsCore.cpp:482:21: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90, inlined from 'bool signerInternalProcessPresentation(MyMessage&)' at ./core/MySigning.cpp:488:28, inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:176:42, inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:171:6, inlined from 'void transportProcessMessage()' at ./core/MyTransport.cpp:718:30: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'bool gatewayTransportAvailable()' at ./core/MyGatewayTransportEthernet.cpp:433:25: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 25 bytes from a string of the same length [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'bool present(uint8_t, mysensors_sensor_t, const char*, bool)' at ./core/MySensorsCore.cpp:379:19, inlined from 'void presentNode()' at ./core/MySensorsCore.cpp:233:15, inlined from 'bool gatewayTransportAvailable()' at ./core/MyGatewayTransportEthernet.cpp:435:16: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:48:26, inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:28:13, inlined from 'void _process()' at ./core/MySensorsCore.cpp:72:25: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90, inlined from 'void signerPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:143:28: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function 'MyMessage& MyMessage::set(const char*)', inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:48:26, inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:28:13, inlined from 'void _process()' at ./core/MySensorsCore.cpp:72:25, inlined from 'void wait(uint32_t)' at ./core/MySensorsCore.cpp:566:11, inlined from 'void transportReportRoutingTable()' at ./core/MyTransport.cpp:1077:8: ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] 391 | (void)strncpy(this->data, value, this->getLength()); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -MT build/hal/architecture/Linux/drivers/BCM/bcm2835.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/bcm2835.c -o build/hal/architecture/Linux/drivers/BCM/bcm2835.o g++ -MT build/hal/architecture/Linux/drivers/BCM/BCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/BCM.cpp -o build/hal/architecture/Linux/drivers/BCM/BCM.o g++ -MT build/hal/architecture/Linux/drivers/BCM/RPi.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/RPi.cpp -o build/hal/architecture/Linux/drivers/BCM/RPi.o g++ -MT build/hal/architecture/Linux/drivers/BCM/SPIBCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/SPIBCM.cpp -o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o g++ -MT build/hal/architecture/Linux/drivers/BCM/Wire.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/Wire.cpp -o build/hal/architecture/Linux/drivers/BCM/Wire.o g++ -pthread -o bin/mysgw build/hal/architecture/Linux/drivers/core/config.o build/hal/architecture/Linux/drivers/core/log.o build/hal/architecture/Linux/drivers/core/EthernetClient.o build/hal/architecture/Linux/drivers/core/EthernetServer.o build/hal/architecture/Linux/drivers/core/GPIO.o build/hal/architecture/Linux/drivers/core/IPAddress.o build/hal/architecture/Linux/drivers/core/Print.o build/hal/architecture/Linux/drivers/core/SPIDEV.o build/hal/architecture/Linux/drivers/core/SerialPort.o build/hal/architecture/Linux/drivers/core/SoftEeprom.o build/hal/architecture/Linux/drivers/core/StdInOutStream.o build/hal/architecture/Linux/drivers/core/Stream.o build/hal/architecture/Linux/drivers/core/compatibility.o build/hal/architecture/Linux/drivers/core/interrupt.o build/hal/architecture/Linux/drivers/core/noniso.o build/examples_linux/mysgw.o build/hal/architecture/Linux/drivers/BCM/bcm2835.o build/hal/architecture/Linux/drivers/BCM/BCM.o build/hal/architecture/Linux/drivers/BCM/RPi.o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o build/hal/architecture/Linux/drivers/BCM/Wire.o /usr/bin/ld: build/examples_linux/mysgw.o:/home/oznerol/git/MySensors/./hal/architecture/Linux/drivers/core/config.h:39: multiple definition of `conf'; build/hal/architecture/Linux/drivers/core/config.o:/home/oznerol/git/MySensors/hal/architecture/Linux/drivers/core/config.h:39: first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:80: bin/mysgw] Error 1
-
Hi,
I just built the gateway on my Raspi 3B+ armbian without problem. Maybe an archlinux incompatibility?
Here's my log:pi@raspberrypi:~/MySensors $ ./configure [SECTION] Detecting target machine. [OK] machine detected: SoC=BCM2837, Type=rpi3, CPU=armv7l. [SECTION] Detecting SPI driver. [OK] SPI driver detected:BCM. [SECTION] Gateway configuration. [OK] Type: ethernet. [OK] Transport: rf24. [OK] Signing: Disabled. [OK] Encryption: Disabled. [OK] CPPFLAGS: -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI [OK] CXXFLAGS: -std=c++11 [SECTION] Detecting init system. [OK] Init system detected: systemd. [SECTION] Saving configuration. [OK] Saved. [SECTION] Cleaning previous builds. [OK] Finished. pi@raspberrypi:~/MySensors $ pi@raspberrypi:~/MySensors $ make gcc -MT build/hal/architecture/Linux/drivers/core/log.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/log.c -o build/hal/architecture/Linux/drivers/core/log.o gcc -MT build/hal/architecture/Linux/drivers/core/config.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/config.c -o build/hal/architecture/Linux/drivers/core/config.o g++ -MT build/hal/architecture/Linux/drivers/core/StdInOutStream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/StdInOutStream.cpp -o build/hal/architecture/Linux/drivers/core/StdInOutStream.o g++ -MT build/hal/architecture/Linux/drivers/core/noniso.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/noniso.cpp -o build/hal/architecture/Linux/drivers/core/noniso.o g++ -MT build/hal/architecture/Linux/drivers/core/GPIO.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/GPIO.cpp -o build/hal/architecture/Linux/drivers/core/GPIO.o hal/architecture/Linux/drivers/core/GPIO.cpp: In constructor ‘GPIOClass::GPIOClass()’: hal/architecture/Linux/drivers/core/GPIO.cpp:53:33: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=] snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name); ^~~~~~~~~~~~~~~~~~~~~~~~~ hal/architecture/Linux/drivers/core/GPIO.cpp:53:12: note: ‘snprintf’ output between 22 and 277 bytes into a destination of size 64 snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hal/architecture/Linux/drivers/core/GPIO.cpp:62:33: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=] snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name); ^~~~~~~~~~~~~~~~~~~~~~~~~~ hal/architecture/Linux/drivers/core/GPIO.cpp:62:12: note: ‘snprintf’ output between 23 and 278 bytes into a destination of size 64 snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -MT build/hal/architecture/Linux/drivers/core/SPIDEV.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SPIDEV.cpp -o build/hal/architecture/Linux/drivers/core/SPIDEV.o g++ -MT build/hal/architecture/Linux/drivers/core/Print.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Print.cpp -o build/hal/architecture/Linux/drivers/core/Print.o g++ -MT build/hal/architecture/Linux/drivers/core/EthernetClient.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetClient.cpp -o build/hal/architecture/Linux/drivers/core/EthernetClient.o g++ -MT build/hal/architecture/Linux/drivers/core/SerialPort.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SerialPort.cpp -o build/hal/architecture/Linux/drivers/core/SerialPort.o g++ -MT build/hal/architecture/Linux/drivers/core/Stream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Stream.cpp -o build/hal/architecture/Linux/drivers/core/Stream.o g++ -MT build/hal/architecture/Linux/drivers/core/IPAddress.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/IPAddress.cpp -o build/hal/architecture/Linux/drivers/core/IPAddress.o g++ -MT build/hal/architecture/Linux/drivers/core/compatibility.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/compatibility.cpp -o build/hal/architecture/Linux/drivers/core/compatibility.o g++ -MT build/hal/architecture/Linux/drivers/core/interrupt.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/interrupt.cpp -o build/hal/architecture/Linux/drivers/core/interrupt.o g++ -MT build/hal/architecture/Linux/drivers/core/SoftEeprom.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SoftEeprom.cpp -o build/hal/architecture/Linux/drivers/core/SoftEeprom.o g++ -MT build/hal/architecture/Linux/drivers/core/EthernetServer.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetServer.cpp -o build/hal/architecture/Linux/drivers/core/EthernetServer.o g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o In file included from ./MySensors.h:431, from examples_linux/mysgw.cpp:82: In member function ‘char* MyMessage::getString(char*) const’, inlined from ‘bool transportSendWrite(uint8_t, MyMessage&)’ at ./core/MyTransport.cpp:987:2, inlined from ‘bool transportRouteMessage(MyMessage&)’ at ./core/MyTransport.cpp:560:40, inlined from ‘void stUplinkTransition()’ at ./core/MyTransport.cpp:252:29: ./core/MyMessage.cpp:284:17: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation] (void)strncpy(buffer, this->data, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘char* MyMessage::getString(char*) const’, inlined from ‘char* protocolMyMessage2Serial(MyMessage&)’ at ./core/MyProtocol.cpp:93:8: ./core/MyMessage.cpp:284:17: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation] (void)strncpy(buffer, this->data, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘char* MyMessage::getString(char*) const’, inlined from ‘char* protocolMyMessage2Serial(MyMessage&)’ at ./core/MyProtocol.cpp:93:8, inlined from ‘bool gatewayTransportSend(MyMessage&)’ at ./core/MyGatewayTransportEthernet.cpp:251:51: ./core/MyMessage.cpp:284:17: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation] (void)strncpy(buffer, this->data, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./core/MyMessage.cpp: In member function ‘char* MyMessage::getString(char*) const’: ./core/MyMessage.cpp:284:17: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation] (void)strncpy(buffer, this->data, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void stParentTransition()’ at ./core/MyTransport.cpp:161:29: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void stReadyUpdate()’ at ./core/MyTransport.cpp:312:30: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void stIDTransition()’ at ./core/MyTransport.cpp:218:30, inlined from ‘void stIDTransition()’ at ./core/MyTransport.cpp:202:6: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘bool present(uint8_t, mysensors_sensor_t, const char*, bool)’ at ./core/MySensorsCore.cpp:379:19, inlined from ‘void presentNode()’ at ./core/MySensorsCore.cpp:233:15: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void prepareSigningPresentation(MyMessage&, uint8_t)’ at ./core/MySigning.cpp:389:90, inlined from ‘bool signerInternalProcessPresentation(MyMessage&)’ at ./core/MySigning.cpp:488:28, inlined from ‘bool signerProcessInternal(MyMessage&)’ at ./core/MySigning.cpp:176:42, inlined from ‘bool signerProcessInternal(MyMessage&)’ at ./core/MySigning.cpp:171:6: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘bool request(uint8_t, uint8_t, uint8_t)’ at ./core/MySensorsCore.cpp:429:19: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘bool requestTime(bool)’ at ./core/MySensorsCore.cpp:434:19: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘bool _processInternalCoreMessage()’ at ./core/MySensorsCore.cpp:482:21: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void prepareSigningPresentation(MyMessage&, uint8_t)’ at ./core/MySigning.cpp:389:90, inlined from ‘bool signerInternalProcessPresentation(MyMessage&)’ at ./core/MySigning.cpp:488:28, inlined from ‘bool signerProcessInternal(MyMessage&)’ at ./core/MySigning.cpp:176:42, inlined from ‘bool signerProcessInternal(MyMessage&)’ at ./core/MySigning.cpp:171:6, inlined from ‘void transportProcessMessage()’ at ./core/MyTransport.cpp:718:30: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘bool gatewayTransportAvailable()’ at ./core/MyGatewayTransportEthernet.cpp:433:25: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 25 bytes from a string of the same length [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘bool present(uint8_t, mysensors_sensor_t, const char*, bool)’ at ./core/MySensorsCore.cpp:379:19, inlined from ‘void presentNode()’ at ./core/MySensorsCore.cpp:233:15, inlined from ‘bool gatewayTransportAvailable()’ at ./core/MyGatewayTransportEthernet.cpp:435:16: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void gatewayTransportProcess()’ at ./core/MyGatewayTransport.cpp:48:26, inlined from ‘void gatewayTransportProcess()’ at ./core/MyGatewayTransport.cpp:28:13, inlined from ‘void _process()’ at ./core/MySensorsCore.cpp:72:25: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void prepareSigningPresentation(MyMessage&, uint8_t)’ at ./core/MySigning.cpp:389:90, inlined from ‘void signerPresentation(MyMessage&, uint8_t)’ at ./core/MySigning.cpp:143:28: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ destination unchanged after copying no bytes [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In member function ‘MyMessage& MyMessage::set(const char*)’, inlined from ‘void gatewayTransportProcess()’ at ./core/MyGatewayTransport.cpp:48:26, inlined from ‘void gatewayTransportProcess()’ at ./core/MyGatewayTransport.cpp:28:13, inlined from ‘void _process()’ at ./core/MySensorsCore.cpp:72:25, inlined from ‘void wait(uint32_t)’ at ./core/MySensorsCore.cpp:566:11, inlined from ‘void transportReportRoutingTable()’ at ./core/MyTransport.cpp:1077:8: ./core/MyMessage.cpp:391:15: warning: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation] (void)strncpy(this->data, value, this->getLength()); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -MT build/hal/architecture/Linux/drivers/BCM/bcm2835.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/bcm2835.c -o build/hal/architecture/Linux/drivers/BCM/bcm2835.o g++ -MT build/hal/architecture/Linux/drivers/BCM/BCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/BCM.cpp -o build/hal/architecture/Linux/drivers/BCM/BCM.o g++ -MT build/hal/architecture/Linux/drivers/BCM/SPIBCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/SPIBCM.cpp -o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o g++ -MT build/hal/architecture/Linux/drivers/BCM/Wire.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/Wire.cpp -o build/hal/architecture/Linux/drivers/BCM/Wire.o g++ -MT build/hal/architecture/Linux/drivers/BCM/RPi.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/RPi.cpp -o build/hal/architecture/Linux/drivers/BCM/RPi.o g++ -pthread -o bin/mysgw build/hal/architecture/Linux/drivers/core/log.o build/hal/architecture/Linux/drivers/core/config.o build/hal/architecture/Linux/drivers/core/StdInOutStream.o build/hal/architecture/Linux/drivers/core/noniso.o build/hal/architecture/Linux/drivers/core/GPIO.o build/hal/architecture/Linux/drivers/core/SPIDEV.o build/hal/architecture/Linux/drivers/core/Print.o build/hal/architecture/Linux/drivers/core/EthernetClient.o build/hal/architecture/Linux/drivers/core/SerialPort.o build/hal/architecture/Linux/drivers/core/Stream.o build/hal/architecture/Linux/drivers/core/IPAddress.o build/hal/architecture/Linux/drivers/core/compatibility.o build/hal/architecture/Linux/drivers/core/interrupt.o build/hal/architecture/Linux/drivers/core/SoftEeprom.o build/hal/architecture/Linux/drivers/core/EthernetServer.o build/examples_linux/mysgw.o build/hal/architecture/Linux/drivers/BCM/bcm2835.o build/hal/architecture/Linux/drivers/BCM/BCM.o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o build/hal/architecture/Linux/drivers/BCM/Wire.o build/hal/architecture/Linux/drivers/BCM/RPi.o pi@raspberrypi:~/MySensors $
-
It's a realy old topic. Anyway. But I'm running into the same problem. Did you solve it ?
Regards
Fabrice
-