MySensors Gateway on OrangePi 5
-
Hi all
I'm trying to compile the MySensors Gateway on my OrangePi 5.
My configuration:./configure --my-transport=rf24 --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-rf24-ce-pin=13 --my-rf24-cs-pin=15 --my-rf24-irq-pin=16 --my-mqtt-publish-topic-prefix=[prefix] --my-mqtt-subscribe-topic-prefix=[prefix] --my-mqtt-client-id=[client_id] --my-mqtt-user=[user] --my-mqtt-password=[pwd]Unfortunately I get compilation warnings and errors when running make:
./hal/transport/RF24/driver/RF24.cpp: In function ‘void RF24_registerReceiveCallback(RF24_receiveCallbackType)’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘void CircularBuffer<T>::clear()’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::empty() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::full() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘uint8_t CircularBuffer<T>::available() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘T* CircularBuffer<T>::getFront() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::pushFront(T*)’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘T* CircularBuffer<T>::getBack() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::popBack()’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ make: *** [Makefile:99: build/examples_linux/mysgw.o] Error 1The cpp / g++ compiler version:
root@DESKTOP-GETBHUS:/mnt/d/temp/MySensors# gcc --version gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Any idea how to fix this?
Regards, M. Erni
-
Hi all
I'm trying to compile the MySensors Gateway on my OrangePi 5.
My configuration:./configure --my-transport=rf24 --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-rf24-ce-pin=13 --my-rf24-cs-pin=15 --my-rf24-irq-pin=16 --my-mqtt-publish-topic-prefix=[prefix] --my-mqtt-subscribe-topic-prefix=[prefix] --my-mqtt-client-id=[client_id] --my-mqtt-user=[user] --my-mqtt-password=[pwd]Unfortunately I get compilation warnings and errors when running make:
./hal/transport/RF24/driver/RF24.cpp: In function ‘void RF24_registerReceiveCallback(RF24_receiveCallbackType)’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./hal/transport/RF24/driver/RF24.cpp:507:9: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 507 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘void CircularBuffer<T>::clear()’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:53:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 53 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::empty() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:66:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 66 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::full() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:79:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 79 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘uint8_t CircularBuffer<T>::available() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:92:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 92 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘T* CircularBuffer<T>::getFront() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:106:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 106 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::pushFront(T*)’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:123:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 123 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘T* CircularBuffer<T>::getBack() const’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:146:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 146 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: In member function ‘bool CircularBuffer<T>::popBack()’: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: remove parentheses to default-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:58: note: or replace parentheses with braces to value-initialize a variable 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h: At global scope: ./hal/architecture/Linux/MyHwLinuxGeneric.h:106:50: error: ambiguating new declaration of ‘uint8_t __hwLock()’ 106 | #define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ | ^~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:113:29: note: in expansion of macro ‘ATOMIC_BLOCK’ 113 | #define MY_CRITICAL_SECTION ATOMIC_BLOCK | ^~~~~~~~~~~~ ./drivers/CircularBuffer/CircularBuffer.h:161:17: note: in expansion of macro ‘MY_CRITICAL_SECTION’ 161 | MY_CRITICAL_SECTION { | ^~~~~~~~~~~~~~~~~~~ ./hal/architecture/Linux/MyHwLinuxGeneric.h:88:24: note: old declaration ‘void __hwLock()’ 88 | static __inline__ void __hwLock() | ^~~~~~~~ make: *** [Makefile:99: build/examples_linux/mysgw.o] Error 1The cpp / g++ compiler version:
root@DESKTOP-GETBHUS:/mnt/d/temp/MySensors# gcc --version gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Any idea how to fix this?
Regards, M. Erni
-
Thx for your tip.
I already used the documentation you mentioned. The documentation is for OrangePi Zero but I try to compile MySensors for OrangePi 5.
Therefore I used a different library for WiringPi: https://github.com/orangepi-xunlong/wiringOP/tree/next
Also enabling SPI was different for OrangePi 5. SPI is working (at least I can see devices at /dev/spi... ).
The problem that I have: I can't compile MySensors when I define MY_RF24_IRQ_PIN in configuration (see first post). When I don't use MY_RF24_IRQ_PIN, compilation works (with warnings).Hope this makes things more clear.
Regards, Mauri
-
search : MyHwLinuxGeneric.h parentheses declaration [-Wvexing-parse]
??? https://stackoverflow.com/questions/21624880/how-does-this-declaration-invoke-the-most-vexing-parse ???
-
Thx for the hint. Unfortunately this didn't help me to find a solution for the compilation error.
I simply don't understand the lines 105 and 106 in (MyHwLinuxGeneric.h). Can anyone explain me the C magic going on there?#define ATOMIC_BLOCK for ( ATOMIC_BLOCK_CLEANUP, __hwLock(); \ __atomic_loop ; __atomic_loop = 0 )I think the problem is the "new"/different compiler version being used on the OrangePi 5. On my Raspberry Pi the code compiled without any problem.
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