OpenVPN/openvpn3-linux
9
20
Fork
You've already forked openvpn3-linux
9

GCC 15/Clang compatibility #53

Closed
opened 2025年05月03日 23:15:48 +02:00 by wcasanova · 6 comments

OpenVPN3-Linux with GCC 15+ or Clang fails due to:

Missing #include <cstdint> for uint32_t in logmetadata.hpp (GCC 15 is stricter about includes). 
Deprecated <ciso646> (used by absl/Protobuf) triggering C++17 warnings
FAILED: libcommon.a.p/src_log_logmetadata.cpp.o
ccache c++ -Ilibcommon.a.p -I. -I../openvpn3-linux-24 -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIC -pthread -MD -MQ libcommon.a.p/src_log_logmetadata.cpp.o -MF libcommon.a.p/src_log_logmetadata.cpp.o.d -o libcommon.a.p/src_log_logmetadata.cpp.o -c ../openvpn3-linux-24/src/log/logmetadata.cpp
In file included from ../openvpn3-linux-24/src/log/logmetadata.cpp:21:
../openvpn3-linux-24/src/log/logmetadata.hpp:93:50: error: ‘uint32_t’ does not name a type
 93 | LogMetaDataValue(const std::string &l, const uint32_t v, bool s);
 | ^~~~~~~~
../openvpn3-linux-24/src/log/logmetadata.hpp:22:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
 21 | #include "logtag.hpp"
 +++ |+#include <cstdint>
 22 |
../openvpn3-linux-24/src/log/logmetadata.hpp:94:5: error: ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int32_t, bool)’ cannot be overloaded with ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int, bool)’
 94 | LogMetaDataValue(const std::string &l, const int32_t v, bool s);
 | ^~~~~~~~~~~~~~~~
../openvpn3-linux-24/src/log/logmetadata.hpp:93:5: note: previous declaration ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int, bool)’
 93 | LogMetaDataValue(const std::string &l, const uint32_t v, bool s);
 | ^~~~~~~~~~~~~~~~
../openvpn3-linux-24/src/log/logmetadata.cpp:39:42: error: ‘uint32_t’ does not name a type
 39 | const uint32_t v,
 | ^~~~~~~~
../openvpn3-linux-24/src/log/logmetadata.cpp:22:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
 21 | #include "logmetadata.hpp"
 +++ |+#include <cstdint>
 22 | #include "logtag.hpp"
../openvpn3-linux-24/src/log/logmetadata.cpp:47:1: error: redefinition of ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int32_t, bool)’
 47 | LogMetaDataValue::LogMetaDataValue(const std::string &l,
 | ^~~~~~~~~~~~~~~~
../openvpn3-linux-24/src/log/logmetadata.cpp:38:1: note: ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int, bool)’ previously defined here
 38 | LogMetaDataValue::LogMetaDataValue(const std::string &l,
 | ^~~~~~~~~~~~~~~~
[10/23] Compiling C++ object src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o
FAILED: src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o
ccache c++ -Isrc/client/openvpn3-service-client.p -Isrc/client -I../openvpn3-linux-24/src/client -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I. -I../openvpn3-linux-24 -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -MF src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o.d -o src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -c src/dco/dco-keyconfig.pb.cc
In file included from /usr/include/absl/hash/internal/hash.h:33,
 from /usr/include/absl/hash/hash.h:89,
 from /usr/include/absl/container/internal/hash_function_defaults.h:56,
 from /usr/include/absl/container/hash_container_defaults.h:19,
 from /usr/include/absl/container/flat_hash_map.h:43,
 from /usr/include/google/protobuf/descriptor.h:47,
 from /usr/include/google/protobuf/generated_message_reflection.h:26,
 from src/dco/dco-keyconfig.pb.h:26,
 from src/dco/dco-keyconfig.pb.cc:6:
/usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
 | ^~~~~~~
cc1plus: all warnings being treated as errors
[11/23] Compiling C++ object src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o
FAILED: src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o
ccache c++ -Isrc/netcfg/openvpn3-service-netcfg.p -Isrc/netcfg -I../openvpn3-linux-24/src/netcfg -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I. -I../openvpn3-linux-24 -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -MF src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o.d -o src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -c src/dco/dco-keyconfig.pb.cc
In file included from /usr/include/absl/hash/internal/hash.h:33,
 from /usr/include/absl/hash/hash.h:89,
 from /usr/include/absl/container/internal/hash_function_defaults.h:56,
 from /usr/include/absl/container/hash_container_defaults.h:19,
 from /usr/include/absl/container/flat_hash_map.h:43,
 from /usr/include/google/protobuf/descriptor.h:47,
 from /usr/include/google/protobuf/generated_message_reflection.h:26,
 from src/dco/dco-keyconfig.pb.h:26,
 from src/dco/dco-keyconfig.pb.cc:6:
/usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
 | ^~~~~~~
cc1plus: all warnings being treated as errors
[12/23] Compiling C++ object libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o
FAILED: libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o
ccache c++ -Ilibnetcfgmgr.a.p -I. -I../openvpn3-linux-24 -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIC -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o -MF libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o.d -o libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o -c ../openvpn3-linux-24/src/netcfg/proxy-netcfg-device.cpp
In file included from /usr/include/absl/hash/internal/hash.h:33,
 from /usr/include/absl/hash/hash.h:89,
 from /usr/include/absl/container/internal/hash_function_defaults.h:56,
 from /usr/include/absl/container/hash_container_defaults.h:19,
 from /usr/include/absl/container/flat_hash_map.h:43,
 from /usr/include/google/protobuf/descriptor.h:47,
 from /usr/include/google/protobuf/generated_message_reflection.h:26,
 from src/dco/dco-keyconfig.pb.h:26,
 from ../openvpn3-linux-24/src/netcfg/proxy-netcfg-device.cpp:37:
/usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
 | ^~~~~~~
cc1plus: all warnings being treated as errors
[13/23] Compiling C++ object src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o
FAILED: src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o
ccache c++ -Isrc/netcfg/openvpn3-service-netcfg.p -Isrc/netcfg -I../openvpn3-linux-24/src/netcfg -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I. -I../openvpn3-linux-24 -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o -MF src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o.d -o src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o -c ../openvpn3-linux-24/src/netcfg/netcfg-dco.cpp
In file included from /usr/include/absl/hash/internal/hash.h:33,
 from /usr/include/absl/hash/hash.h:89,
 from /usr/include/absl/container/internal/hash_function_defaults.h:56,
 from /usr/include/absl/container/hash_container_defaults.h:19,
 from /usr/include/absl/container/flat_hash_map.h:43,
 from /usr/include/google/protobuf/descriptor.h:47,
 from /usr/include/google/protobuf/generated_message_reflection.h:26,
 from src/dco/dco-keyconfig.pb.h:26,
 from ../openvpn3-linux-24/src/netcfg/netcfg-dco.cpp:26:
/usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
 | ^~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
 Aborting...
OpenVPN3-Linux with GCC 15+ or Clang fails due to: ``` Missing #include <cstdint> for uint32_t in logmetadata.hpp (GCC 15 is stricter about includes). Deprecated <ciso646> (used by absl/Protobuf) triggering C++17 warnings ``` ``` FAILED: libcommon.a.p/src_log_logmetadata.cpp.o ccache c++ -Ilibcommon.a.p -I. -I../openvpn3-linux-24 -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIC -pthread -MD -MQ libcommon.a.p/src_log_logmetadata.cpp.o -MF libcommon.a.p/src_log_logmetadata.cpp.o.d -o libcommon.a.p/src_log_logmetadata.cpp.o -c ../openvpn3-linux-24/src/log/logmetadata.cpp In file included from ../openvpn3-linux-24/src/log/logmetadata.cpp:21: ../openvpn3-linux-24/src/log/logmetadata.hpp:93:50: error: ‘uint32_t’ does not name a type 93 | LogMetaDataValue(const std::string &l, const uint32_t v, bool s); | ^~~~~~~~ ../openvpn3-linux-24/src/log/logmetadata.hpp:22:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ 21 | #include "logtag.hpp" +++ |+#include <cstdint> 22 | ../openvpn3-linux-24/src/log/logmetadata.hpp:94:5: error: ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int32_t, bool)’ cannot be overloaded with ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int, bool)’ 94 | LogMetaDataValue(const std::string &l, const int32_t v, bool s); | ^~~~~~~~~~~~~~~~ ../openvpn3-linux-24/src/log/logmetadata.hpp:93:5: note: previous declaration ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int, bool)’ 93 | LogMetaDataValue(const std::string &l, const uint32_t v, bool s); | ^~~~~~~~~~~~~~~~ ../openvpn3-linux-24/src/log/logmetadata.cpp:39:42: error: ‘uint32_t’ does not name a type 39 | const uint32_t v, | ^~~~~~~~ ../openvpn3-linux-24/src/log/logmetadata.cpp:22:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ 21 | #include "logmetadata.hpp" +++ |+#include <cstdint> 22 | #include "logtag.hpp" ../openvpn3-linux-24/src/log/logmetadata.cpp:47:1: error: redefinition of ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int32_t, bool)’ 47 | LogMetaDataValue::LogMetaDataValue(const std::string &l, | ^~~~~~~~~~~~~~~~ ../openvpn3-linux-24/src/log/logmetadata.cpp:38:1: note: ‘LogMetaDataValue::LogMetaDataValue(const std::string&, int, bool)’ previously defined here 38 | LogMetaDataValue::LogMetaDataValue(const std::string &l, | ^~~~~~~~~~~~~~~~ [10/23] Compiling C++ object src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o FAILED: src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o ccache c++ -Isrc/client/openvpn3-service-client.p -Isrc/client -I../openvpn3-linux-24/src/client -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I. -I../openvpn3-linux-24 -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -MF src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o.d -o src/client/openvpn3-service-client.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -c src/dco/dco-keyconfig.pb.cc In file included from /usr/include/absl/hash/internal/hash.h:33, from /usr/include/absl/hash/hash.h:89, from /usr/include/absl/container/internal/hash_function_defaults.h:56, from /usr/include/absl/container/hash_container_defaults.h:19, from /usr/include/absl/container/flat_hash_map.h:43, from /usr/include/google/protobuf/descriptor.h:47, from /usr/include/google/protobuf/generated_message_reflection.h:26, from src/dco/dco-keyconfig.pb.h:26, from src/dco/dco-keyconfig.pb.cc:6: /usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp] 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" | ^~~~~~~ cc1plus: all warnings being treated as errors [11/23] Compiling C++ object src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o FAILED: src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o ccache c++ -Isrc/netcfg/openvpn3-service-netcfg.p -Isrc/netcfg -I../openvpn3-linux-24/src/netcfg -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I. -I../openvpn3-linux-24 -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -MF src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o.d -o src/netcfg/openvpn3-service-netcfg.p/meson-generated_.._.._dco_dco-keyconfig.pb.cc.o -c src/dco/dco-keyconfig.pb.cc In file included from /usr/include/absl/hash/internal/hash.h:33, from /usr/include/absl/hash/hash.h:89, from /usr/include/absl/container/internal/hash_function_defaults.h:56, from /usr/include/absl/container/hash_container_defaults.h:19, from /usr/include/absl/container/flat_hash_map.h:43, from /usr/include/google/protobuf/descriptor.h:47, from /usr/include/google/protobuf/generated_message_reflection.h:26, from src/dco/dco-keyconfig.pb.h:26, from src/dco/dco-keyconfig.pb.cc:6: /usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp] 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" | ^~~~~~~ cc1plus: all warnings being treated as errors [12/23] Compiling C++ object libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o FAILED: libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o ccache c++ -Ilibnetcfgmgr.a.p -I. -I../openvpn3-linux-24 -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIC -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o -MF libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o.d -o libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o -c ../openvpn3-linux-24/src/netcfg/proxy-netcfg-device.cpp In file included from /usr/include/absl/hash/internal/hash.h:33, from /usr/include/absl/hash/hash.h:89, from /usr/include/absl/container/internal/hash_function_defaults.h:56, from /usr/include/absl/container/hash_container_defaults.h:19, from /usr/include/absl/container/flat_hash_map.h:43, from /usr/include/google/protobuf/descriptor.h:47, from /usr/include/google/protobuf/generated_message_reflection.h:26, from src/dco/dco-keyconfig.pb.h:26, from ../openvpn3-linux-24/src/netcfg/proxy-netcfg-device.cpp:37: /usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp] 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" | ^~~~~~~ cc1plus: all warnings being treated as errors [13/23] Compiling C++ object src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o FAILED: src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o ccache c++ -Isrc/netcfg/openvpn3-service-netcfg.p -Isrc/netcfg -I../openvpn3-linux-24/src/netcfg -I../openvpn3-linux-24/openvpn3-core -I../openvpn3-linux-24/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24/src -I. -I../openvpn3-linux-24 -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -falign-functions=32 -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o -MF src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o.d -o src/netcfg/openvpn3-service-netcfg.p/netcfg-dco.cpp.o -c ../openvpn3-linux-24/src/netcfg/netcfg-dco.cpp In file included from /usr/include/absl/hash/internal/hash.h:33, from /usr/include/absl/hash/hash.h:89, from /usr/include/absl/container/internal/hash_function_defaults.h:56, from /usr/include/absl/container/hash_container_defaults.h:19, from /usr/include/absl/container/flat_hash_map.h:43, from /usr/include/google/protobuf/descriptor.h:47, from /usr/include/google/protobuf/generated_message_reflection.h:26, from src/dco/dco-keyconfig.pb.h:26, from ../openvpn3-linux-24/src/netcfg/netcfg-dco.cpp:26: /usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp] 46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" | ^~~~~~~ cc1plus: all warnings being treated as errors ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting... ```
Owner
Copy link

This has already been fixed.

Ensure you build from an up-to-date git master branch, or cherry-pick commit 1b2f04b219 to the release branch you build from.

This has already been fixed. Ensure you build from an up-to-date `git master` branch, or cherry-pick commit 1b2f04b2194b75389d9425156ef64112de19bc40 to the release branch you build from.
Owner
Copy link

One more note ... There is also an issue with googletest as well building with GCC-15. You might need to either disable the building of unit tests for the time being (meson configure -Dunit_tests=disabled), or add some manual hacks to the googletest source code.

One more note ... There is also an issue with googletest as well building with GCC-15. You might need to either disable the building of unit tests for the time being (`meson configure -Dunit_tests=disabled`), or add some manual hacks to the googletest source code.

I dont think it fixed, just tried to compile on master and the issue remains

I dont think it fixed, just tried to compile on master and the issue remains
Owner
Copy link

@mozartilize These last days I've done several builds from git master on Fedora 42 and Fedora Rawhide ... both have GCC-15. In fact, I spun up a fresh distrobox with Fedora 42 now and compiled git master just fine.

$ meson compile
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja
[196/230] Generating src/selinux/openvpn3_service.pp.bz2 with a custom command
Compiling targeted openvpn3_service module
Creating targeted openvpn3_service.pp policy package
Compressing openvpn3_service.pp policy package
[198/230] Generating src/selinux/openvpn3.pp.bz2 with a custom command
Compiling targeted openvpn3 module
Creating targeted openvpn3.pp policy package
Compressing openvpn3.pp policy package
[230/230] Linking target src/tests/ovpncli-netcfg
$ ./src/ovpn3cli/openvpn3 version
OpenVPN3/Linux master_fe2645567c987550 (openvpn3)
OpenVPN core 3.git:HEAD:4d84c599 linux x86_64 64-bit [DCO] built on May 6 2025 21:53:46
Copyright (C) 2012- OpenVPN Inc. All rights reserved.
$ cat /etc/fedora-release 
Fedora release 42 (Adams)
$ g++ --version
g++ (GCC) 15.1.1 20250425 (Red Hat 15.1.1-1)
Copyright (C) 2025 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.
@mozartilize These last days I've done several builds from git master on Fedora 42 and Fedora Rawhide ... both have GCC-15. In fact, I spun up a fresh [distrobox](https://distrobox.it/) with Fedora 42 now and compiled git master just fine. ``` $ meson compile INFO: autodetecting backend as ninja INFO: calculating backend command to run: /usr/bin/ninja [196/230] Generating src/selinux/openvpn3_service.pp.bz2 with a custom command Compiling targeted openvpn3_service module Creating targeted openvpn3_service.pp policy package Compressing openvpn3_service.pp policy package [198/230] Generating src/selinux/openvpn3.pp.bz2 with a custom command Compiling targeted openvpn3 module Creating targeted openvpn3.pp policy package Compressing openvpn3.pp policy package [230/230] Linking target src/tests/ovpncli-netcfg $ ./src/ovpn3cli/openvpn3 version OpenVPN3/Linux master_fe2645567c987550 (openvpn3) OpenVPN core 3.git:HEAD:4d84c599 linux x86_64 64-bit [DCO] built on May 6 2025 21:53:46 Copyright (C) 2012- OpenVPN Inc. All rights reserved. $ cat /etc/fedora-release Fedora release 42 (Adams) $ g++ --version g++ (GCC) 15.1.1 20250425 (Red Hat 15.1.1-1) Copyright (C) 2025 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. ```
Owner
Copy link

Did one more run ... with the addon's enabled too.

 User defined options
 addon-aws : enabled
 addon-deviceposture: enabled
 bash-completion : enabled
 prefix : /usr
 unit_tests : disabled

But you will need to disable the unit_tests for the time being; googletest has some issues with GCC-15. Unless you manually fix those issues in the googletest source code.

Did one more run ... with the addon's enabled too. ``` User defined options addon-aws : enabled addon-deviceposture: enabled bash-completion : enabled prefix : /usr unit_tests : disabled ``` But you will need to disable the `unit_tests` for the time being; googletest has some issues with GCC-15. Unless you manually fix those issues in the googletest source code.

sed -i '46i#include <cstdint>' subprojects/googletest-release-1.10.0/googletest/src/gtest-death-test.cc fixed the googletest issue for me.

`sed -i '46i#include <cstdint>' subprojects/googletest-release-1.10.0/googletest/src/gtest-death-test.cc` fixed the googletest issue for me.
Sign in to join this conversation.
No Branch/Tag specified
master
releaseprep/v27.1
dev/core-update-wip
dev/cb89-inactive-fix
releaseprep/v26
dev/gh-issue-14-asio-include-dir
v27.1
v27.1_rc1
v27
v26
v25
v24.1
v24
v23
v22_dev
v21
v20
v19_beta
v19_betaRC1
v18_beta
v18_betaRC3
v18_betaRC2
v18_betaRC
v17_betaUb2204
v17_beta
v16_beta
v15_beta
v14_beta
v13_beta
v12_beta
v11_beta
v10_beta
v9_beta
v8_beta
v7_beta
v6_beta
v5_beta
v4_beta
v3_beta
v2_beta
v1_beta
Labels
Clear labels
Access Server
Issue related to connecting/integration with OpenVPN Access Server
addon-aws
openvpn3-service-aws / net.openvpn.v3.aws, AWS-VPC integration add-on
addon-devposture
openvpn3-service-devposture / net.openvpn.v3.devposture, Device Posture Check (DPC) service
Awaiting external feedback
Feedback from an external party is needed to continue investigation
build
Issue is related to the build system (meson) or general compilation issues
cli-openvpn2
OpenVPN 2 compat wrapper utility
cli-openvpn3
openvpn3 command line
cli-openvpn3-admin
openvpn3-admin command line
cli-openvpn3-as
OpenVPN Access Server profile download utility
Cloud Connexa
Issue related to connecting to the Cloud Connexa service
common
Shared code across modules
Development done
A fix has been applied to git master
distro-support
OS distribution support
duplicate
This is a duplicate issue of another issue ticket.
Enhancement
Proposal for an enhancement
GitHub
Issue transfered from GitHub
Infrastructure
Issue related to the infrastructure for builds, package repositories, etc
Investigating
The issue is being investigated by a project developer
OpenVPN 3 Core
Issue needs to be resolved in the OpenVPN 3 Core Library
openvpn3-systemd
systemd integration (openvpn3-session@.service, helper tools)
python
The openvpn3 Python module
service-backendstart
openvpn3-service-backendstart / net.openvpn.v3.backends, VPN client service starter
service-client
openvpn3-service-client / net.openvpn.v3.backends.be$PID, Backend VPN client service
service-configmgr
openvpn3-service-configmgr / net.openvpn.v3.configuration, Configuration Profile Manager
service-log
openvpn3-service-log / net.openvpn.v3.log, Log collector service
service-netcfg
openvpn3-service-netcfg / net.openvpn.v3.netcfg, Network Configuration Manager
service-sessionmgr
openvpn3-service-sessionmgr / net.openvpn.v3.sessions, VPN sessions manager
Support
Issue is a support question, not a bug
tests programs
Issue is related to code in src/tests
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
OpenVPN/openvpn3-linux#53
Reference in a new issue
OpenVPN/openvpn3-linux
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?