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




Log in to reply
 

Suggested Topics

  • 3
  • 2
  • 6
  • 5
  • 8

0
Online

11.4k
Users

11.1k
Topics

112.7k
Posts