tomasz-grobelny / AACS

Android Auto Server encapsulates communication with modern car infotainment system
GNU General Public License v3.0
225 stars 29 forks source link

compilation error about including set #23

Open krystian-wojtas opened 1 year ago

krystian-wojtas commented 1 year ago

I've got is compilation error on current master (commit faa1c)

Compiling on Ubuntu 22.04

vagrant@ubuntu2204:~/project/AACS/build5$ cmake ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found libdw: /usr/lib/x86_64-linux-gnu/libdw.so
-- Found libbfd: /usr/lib/x86_64-linux-gnu/libbfd.so
-- Found libdwarf: /usr/lib/x86_64-linux-gnu/libdwarf.so
-- Found Backward: /home/vagrant/project/AACS/external/backward-cpp
CMake Deprecation Warning at AAServer/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.67") found components: filesystem program_options
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.2")
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.12.4")
-- Checking for module 'gstreamer-base-1.0'
--   Found gstreamer-base-1.0, version 1.20.3
-- Checking for module 'libusbgx'
--   Found libusbgx, version 0.2.0
-- Checking for module 'libpcap'
--   Found libpcap, version 1.10.1
CMake Deprecation Warning at AAClient/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.25
CMake Deprecation Warning at GetEvents/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vagrant/project/AACS/build5
vagrant@ubuntu2204:~/project/AACS/build5$ make
[  1%] Building CXX object external/backward-cpp/CMakeFiles/backward_object.dir/backward.cpp.o
[  1%] Built target backward_object
[  2%] Building CXX object external/backward-cpp/CMakeFiles/backward.dir/backward.cpp.o
[  2%] Linking CXX static library libbackward.a
[  2%] Built target backward
[  2%] Generating dhparam.pem
[  2%] Built target dhparam
[  3%] Running cpp protocol buffer compiler on ../proto/VideoResolution.proto
[  4%] Running cpp protocol buffer compiler on ../proto/AudioConfig.proto
[  5%] Running cpp protocol buffer compiler on ../proto/AudioType.proto
[  5%] Running cpp protocol buffer compiler on ../proto/BluetoothChannel.proto
[  5%] Running cpp protocol buffer compiler on ../proto/ButtonsEvent.proto
[  6%] Running cpp protocol buffer compiler on ../proto/Channel.proto
[  6%] Running cpp protocol buffer compiler on ../proto/ChannelOpenRequest.proto
[  7%] Running cpp protocol buffer compiler on ../proto/InputChannel.proto
[  7%] Running cpp protocol buffer compiler on ../proto/InputEvent.proto
[  8%] Running cpp protocol buffer compiler on ../proto/MediaChannel.proto
[  8%] Running cpp protocol buffer compiler on ../proto/MediaChannelSetupResponse.proto
[  9%] Running cpp protocol buffer compiler on ../proto/MediaInputChannel.proto
[  9%] Running cpp protocol buffer compiler on ../proto/MediaStreamType.proto
[  9%] Running cpp protocol buffer compiler on ../proto/NavigationChannel.proto
[ 10%] Running cpp protocol buffer compiler on ../proto/PingRequest.proto
[ 10%] Running cpp protocol buffer compiler on ../proto/PingResponse.proto
[ 10%] Running cpp protocol buffer compiler on ../proto/Sensor.proto
[ 11%] Running cpp protocol buffer compiler on ../proto/SensorChannel.proto
[ 12%] Running cpp protocol buffer compiler on ../proto/ServiceDiscoveryRequest.proto
[ 12%] Running cpp protocol buffer compiler on ../proto/ServiceDiscoveryResponse.proto
[ 12%] Running cpp protocol buffer compiler on ../proto/TouchAction.proto
[ 12%] Running cpp protocol buffer compiler on ../proto/TouchConfig.proto
[ 13%] Running cpp protocol buffer compiler on ../proto/TouchEvent.proto
[ 14%] Running cpp protocol buffer compiler on ../proto/TouchLocation.proto
[ 15%] Running cpp protocol buffer compiler on ../proto/VendorExtensionChannel.proto
[ 15%] Running cpp protocol buffer compiler on ../proto/VideoConfig.proto
[ 15%] Running cpp protocol buffer compiler on ../proto/VideoFps.proto
make[2]: Warning: File 'AAServer/VideoResolution.pb.cc' has modification time 0.13 s in the future
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[ 16%] Building CXX object AAServer/CMakeFiles/AAServer.dir/main.cpp.o
[ 16%] Building CXX object AAServer/CMakeFiles/AAServer.dir/__/src/utils.cpp.o
[ 17%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/ServerUtils.cpp.o
[ 17%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/descriptors.cpp.o
[ 18%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/Library.cpp.o
[ 18%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/Function.cpp.o
[ 19%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/MassStorageFunction.cpp.o
[ 19%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/FfsFunction.cpp.o
[ 20%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/Configuration.cpp.o
[ 20%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/Gadget.cpp.o
[ 20%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/Udc.cpp.o
[ 21%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/Message.cpp.o
[ 21%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/ModeSwitcher.cpp.o
[ 22%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/AaCommunicator.cpp.o
/home/vagrant/project/AACS/AAServer/src/AaCommunicator.cpp: In member function ‘void AaCommunicator::handlePingRequest(const void*, size_t)’:
/home/vagrant/project/AACS/AAServer/src/AaCommunicator.cpp:259:31: warning: ‘int google::protobuf::MessageLite::ByteSize() const’ is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
  259 |   int bufSize = presp.ByteSize();
      |                 ~~~~~~~~~~~~~~^~
In file included from /usr/include/google/protobuf/generated_enum_util.h:36,
                 from /usr/include/google/protobuf/map.h:49,
                 from /usr/include/google/protobuf/generated_message_table_driven.h:34,
                 from /home/vagrant/project/AACS/build5/AAServer/Channel.pb.h:26,
                 from /home/vagrant/project/AACS/AAServer/src/AaCommunicator.cpp:4:
/usr/include/google/protobuf/message_lite.h:408:7: note: declared here
  408 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
/home/vagrant/project/AACS/AAServer/src/AaCommunicator.cpp: In member function ‘void AaCommunicator::initializeSslContext()’:
/home/vagrant/project/AACS/AAServer/src/AaCommunicator.cpp:324:32: warning: ‘DH* PEM_read_DHparams(FILE*, DH**, int (*)(char*, int, int, void*), void*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declaration ]
  324 |     dh_2048 = PEM_read_DHparams(paramfile, NULL, NULL, NULL);
      |               ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/ssl.h:36,
                 from /home/vagrant/project/AACS/AAServer/src/AaCommunicator.cpp:28:
/usr/include/openssl/pem.h:469:1: note: declared here
  469 | DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
      | ^~~~~~~~~~~~~~~~~~~
[ 22%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/SocketClient.cpp.o
[ 23%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/SocketCommunicator.cpp.o
[ 23%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/ManualResetEvent.cpp.o
[ 24%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/ChannelHandler.cpp.o
[ 24%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/DefaultChannelHandler.cpp.o
[ 25%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/VideoChannelHandler.cpp.o
[ 25%] Building CXX object AAServer/CMakeFiles/AAServer.dir/src/InputChannelHandler.cpp.o
In file included from /home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp:3:
/home/vagrant/project/AACS/AAServer/include/InputChannelHandler.h:14:8: error: ‘set’ in namespace ‘std’ does not name a template type
   14 |   std::set<int> registered_clients;
      |        ^~~
/home/vagrant/project/AACS/AAServer/include/InputChannelHandler.h:6:1: note: ‘std::set’ is defined in header ‘<set>’; did you forget to ‘#include <set>’?
    5 | #include "ChannelHandler.h"
  +++ |+#include <set>
    6 | #include <vector>
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp: In member function ‘void InputChannelHandler::sendHandshakeRequest()’:
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp:31:42: warning: ‘int google::protobuf::MessageLite::ByteSize() const’ is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   31 |   int bufSize = handshakeRequest.ByteSize();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/google/protobuf/generated_enum_util.h:36,
                 from /usr/include/google/protobuf/map.h:49,
                 from /usr/include/google/protobuf/generated_message_table_driven.h:34,
                 from /home/vagrant/project/AACS/build5/AAServer/InputChannel.pb.h:26,
                 from /home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp:4:
/usr/include/google/protobuf/message_lite.h:408:7: note: declared here
  408 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp: In member function ‘virtual bool InputChannelHandler::handleMessageFromHeadunit(const Message&)’:
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp:58:24: error: ‘registered_clients’ was not declared in this scope
   58 |       for (auto &&rc : registered_clients)
      |                        ^~~~~~~~~~~~~~~~~~
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp: In member function ‘virtual bool InputChannelHandler::handleMessageFromClient(int, uint8_t, bool, const std::vector<unsigned char>&)’:
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp:71:3: error: ‘registered_clients’ was not declared in this scope
   71 |   registered_clients.insert(clientId);
      |   ^~~~~~~~~~~~~~~~~~
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp: In member function ‘virtual void InputChannelHandler::disconnected(int)’:
/home/vagrant/project/AACS/AAServer/src/InputChannelHandler.cpp:80:3: error: ‘registered_clients’ was not declared in this scope
   80 |   registered_clients.erase(clientId);
      |   ^~~~~~~~~~~~~~~~~~
make[2]: *** [AAServer/CMakeFiles/AAServer.dir/build.make:572: AAServer/CMakeFiles/AAServer.dir/src/InputChannelHandler.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:209: AAServer/CMakeFiles/AAServer.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
krystian-wojtas commented 1 year ago

Same error on Raspbian bullseye and rpi zero