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 hereThe 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 $ -
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 hereThe 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 1It's a realy old topic. Anyway. But I'm running into the same problem. Did you solve it ?
Regards
Fabrice
-
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