aws-samples / aws-iot-securetunneling-localproxy

AWS Iot Secure Tunneling local proxy reference C++ implementation
https://docs.aws.amazon.com/iot/latest/developerguide/what-is-secure-tunneling.html
Apache License 2.0
73 stars 69 forks source link

fail to compile with GCC13 #135

Closed thomas-roos closed 3 months ago

thomas-roos commented 1 year ago

Describe the bug

build failure

To Reproduce yocto master + meta-aws

Expected behavior build

Actual behavior

| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/core2-64-poky-linux/aws-iot-securetunneling-localproxy/git-r0/git/src/Url.h:15:17: error: 'uint16_t' does not name a type                                                                                                           
|    15 |                 uint16_t port {0};                                                                                                                                                                                                                                              
|       |                 ^~~~~~~~                                                                                                                                                                                                                                                        
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/core2-64-poky-linux/aws-iot-securetunneling-localproxy/git-r0/git/src/Url.h:6:1: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?                                                         
|     5 | #include <string>                                                                                                                                                                                                                                                               
|   +++ |+#include <cstdint>                                                                                                                                                                                                                                                              
|     6 | namespace aws {                                                                                                                                                                                                                                                                 
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/core2-64-poky-linux/aws-iot-securetunneling-localproxy/git-r0/git/src/Url.cpp: In member function 'void aws::iot::securedtunneling::url::parse(const std::string&)':                                                                
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/core2-64-poky-linux/aws-iot-securetunneling-localproxy/git-r0/git/src/Url.cpp:72:13: error: 'port' was not declared in this scope                                                                                                   
|    72 |             port = static_cast<uint16_t>(stoi(port_s));                        
  **Environment (please complete the following information):**

Additional context

Add any other context about the problem here.

thomas-roos commented 6 months ago

next, just recent added GCC issue, and its fix: gcc13_2.patch.txt

...o -MF CMakeFiles/localproxytest.dir/src/Url.cpp.o.d -o CMakeFiles/localproxytest.dir/src/Url.cpp.o -c /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp
| In file included from /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp:3:
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.h:15:17: error: 'uint16_t' does not name a type
|    15 |                 uint16_t port {0};
|       |                 ^~~~~~~~
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.h:6:1: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
|     5 | #include <string>
|   +++ |+#include <cstdint>
|     6 | namespace aws {
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp: In member function 'void aws::iot::securedtunneling::url::parse(const std::string&)':
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp:72:13: error: 'port' was not declared in this scope
|    72 |             port = static_cast<uint16_t>(stoi(port_s));
|       |             ^~~~
| [6/23] /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ --sysroot=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-
securetunneling-localproxy/git/recipe-sysroot -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_LOG_SETUP_NO_LIB -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -
I/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/build -I/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src -march=armv8.2-a -mbranch-protection=standa
rd -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-ty
pes -fcanon-prefix-map  -fmacro-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git=/usr/src/debug/aws-iot-securetunneling-localproxy/git  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/wor
k/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git=/usr/src/debug/aws-iot-securetunneling-localproxy/git  -fmacro-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/build=/usr/src/debug/aws-iot-sec
uretunneling-localproxy/git  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/build=/usr/src/debug/aws-iot-securetunneling-localproxy/git  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/
tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot=  -fmacro-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot=  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_m
aster/build/tmp/work/armv8-2a-poky-linux/aws-iot-secur
[gcc13_2.patch.txt](https://github.com/aws-samples/aws-iot-securetunneling-localproxy/files/13862166/gcc13_2.patch.txt)
etunneling-localproxy/git/recipe-sysroot-native=  -fvisibility-inlines-hidden -std=c++14 -O2 -D_FORTIFY_SOURCE=2 -fPIE -fstack-protector-strong -Wall -Werror -MD -MT CMakeFiles/localproxy.dir/src/Url.cpp.o -MF CMakeFiles/localpr
oxy.dir/src/Url.cpp.o.d -o CMakeFiles/localproxy.dir/src/Url.cpp.o -c /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp
| FAILED: CMakeFiles/localproxy.dir/src/Url.cpp.o
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ --sysroot=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securet
unneling-localproxy/git/recipe-sysroot -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_LOG_SETUP_NO_LIB -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -I/home/
ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/build -I/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src -march=armv8.2-a -mbranch-protection=standard -fst
ack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fc
anon-prefix-map  -fmacro-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git=/usr/src/debug/aws-iot-securetunneling-localproxy/git  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8
-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git=/usr/src/debug/aws-iot-securetunneling-localproxy/git  -fmacro-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/build=/usr/src/debug/aws-iot-securetunn
eling-localproxy/git  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/build=/usr/src/debug/aws-iot-securetunneling-localproxy/git  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/wor
k/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot=  -fmacro-prefix-map=/home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot=  -fdebug-prefix-map=/home/ubuntu/data/yocto/yocto_master/b
uild/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/recipe-sysroot-native=  -fvisibility-inlines-hidden -std=c++14 -O2 -D_FORTIFY_SOURCE=2 -fPIE -fstack-protector-strong -Wall -Werror -MD -MT CMakeFiles/localproxy.dir/src/Url.cpp.o -MF CMakeFiles/localproxy.dir
/src/Url.cpp.o.d -o CMakeFiles/localproxy.dir/src/Url.cpp.o -c /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp
| In file included from /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp:3:
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.h:15:17: error: 'uint16_t' does not name a type
|    15 |                 uint16_t port {0};
|       |                 ^~~~~~~~
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.h:6:1: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
|     5 | #include <string>
|   +++ |+#include <cstdint>
|     6 | namespace aws {
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-localproxy/git/git/src/Url.cpp: In member function 'void aws::iot::securedtunneling::url::parse(const std::string&)':
| /home/ubuntu/data/yocto/yocto_master/build/tmp/work/armv8-2a-poky-linux/aws-iot-securetunneling-local
RogerZhongAWS commented 3 months ago

patch has been incorporated into source in the above commit.