Describe the bug
Can't build windscribe on docker libs/wsnet/src/public/settings.h lacks some members (setBasePlatform, setDeviceIdd, setOpenVersionVersion)
OS and app information:
OS: docker image (ubuntu 20.04)
App version 2.11.6
To Reproduce
Steps to reproduce the behavior:
reproduce instructions in README for linux in docker
Expected behavior
Windscribe is building successfully
Additional context
log
Building Windscribe...
INFO: App version extracted: "2.11.5_guinea_pig"
Detecting compiler hash for triplet x64-linux...
Compiler found: /usr/bin/c++
All requested packages are currently installed.
Total install time: 196 ns
7zip provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(7zip CONFIG REQUIRED)
target_link_libraries(main PRIVATE 7zip::7zip)
The package boost-thread is compatible with built-in CMake targets of FindBoost.cmake:
find_package(Boost REQUIRED COMPONENTS thread)
target_link_libraries(main PRIVATE Boost::thread)
or the generated cmake configs via:
find_package(boost_thread REQUIRED CONFIG)
target_link_libraries(main PRIVATE Boost::thread)
The package boost-serialization is compatible with built-in CMake targets of FindBoost.cmake:
find_package(Boost REQUIRED COMPONENTS serialization)
target_link_libraries(main PRIVATE Boost::serialization)
or the generated cmake configs via:
find_package(boost_serialization REQUIRED CONFIG)
target_link_libraries(main PRIVATE Boost::serialization)
advobfuscator is header-only and can be used from CMake via:
find_path(ADVOBFUSCATOR_INCLUDE_DIRS "Lib/Indexes.h")
target_include_directories(main PRIVATE ${ADVOBFUSCATOR_INCLUDE_DIRS})
The package boost-asio is compatible with built-in CMake targets of FindBoost.cmake:
find_package(Boost REQUIRED COMPONENTS asio)
target_link_libraries(main PRIVATE Boost::asio)
or the generated cmake configs via:
find_package(boost_asio REQUIRED CONFIG)
target_link_libraries(main PRIVATE Boost::asio)
The package boost-filesystem is compatible with built-in CMake targets of FindBoost.cmake:
find_package(Boost REQUIRED COMPONENTS filesystem)
target_link_libraries(main PRIVATE Boost::filesystem)
or the generated cmake configs via:
find_package(boost_filesystem REQUIRED CONFIG)
target_link_libraries(main PRIVATE Boost::filesystem)
The package boost-logic is compatible with built-in CMake targets of FindBoost.cmake:
find_package(Boost REQUIRED COMPONENTS logic)
target_link_libraries(main PRIVATE Boost::logic)
or the generated cmake configs via:
find_package(boost_logic REQUIRED CONFIG)
target_link_libraries(main PRIVATE Boost::logic)
The package boost-process is compatible with built-in CMake targets of FindBoost.cmake:
find_package(Boost REQUIRED COMPONENTS process)
target_link_libraries(main PRIVATE Boost::process)
or the generated cmake configs via:
find_package(boost_process REQUIRED CONFIG)
target_link_libraries(main PRIVATE Boost::process)
The package c-ares provides CMake targets:
find_package(c-ares CONFIG REQUIRED)
target_link_libraries(main PRIVATE c-ares::cares)
The package cmakerc provides additional cmake functions:
find_package(CMakeRC CONFIG REQUIRED)
cmrc_add_resource_library(foo-resources ALIAS foo::rc NAMESPACE foo ...)
target_link_libraries(main PRIVATE foo::rc)
See https://github.com/vector-of-bool/cmrc/blob/master/README.md
cpp-base64 is header-only and can be used from CMake via:
find_path(CPP_BASE64_INCLUDE_DIRS "cpp-base64/base64.cpp")
target_include_directories(main PRIVATE ${CPP_BASE64_INCLUDE_DIRS})
The package openssl is compatible with built-in CMake targets:
find_package(OpenSSL REQUIRED)
target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
curl provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(CURL CONFIG REQUIRED)
target_link_libraries(main PRIVATE CURL::libcurl CURL::libcurl_static)
curl provides pkg-config modules:
# Library to transfer files with ftp, http, etc.
libcurl
The package gtest is compatible with built-in CMake targets:
enable_testing()
find_package(GTest CONFIG REQUIRED)
target_link_libraries(main PRIVATE GTest::gtest GTest::gtest_main GTest::gmock GTest::gmock_main)
add_test(AllTestsInMain main)
rapidjson provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(RapidJSON CONFIG REQUIRED)
target_link_libraries(main PRIVATE rapidjson)
rapidjson provides pkg-config modules:
# A fast JSON parser/generator for C++ with both SAX/DOM style API
RapidJSON
skyr-url provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(skyr-url CONFIG REQUIRED)
target_link_libraries(main PRIVATE skyr::skyr-url skyr::skyr-json skyr::skyr-filesystem)
The package spdlog provides CMake targets:
find_package(spdlog CONFIG REQUIRED)
target_link_libraries(main PRIVATE spdlog::spdlog)
# Or use the header-only version
find_package(spdlog CONFIG REQUIRED)
target_link_libraries(main PRIVATE spdlog::spdlog_header_only)
Cleaning: "/w/temp/installer"...
INFO: Building CLI...
INFO: ['cmake', '-DCMAKE_PREFIX_PATH:PATH=/w/build-libs/qt', '/w/gui/cli/CMakeLists.txt', '--no-warn-unused-cli', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_TOOLCHAIN_FILE=/w/vcpkg/scripts/buildsystems/vcpkg.cmake', "-DVCPKG_OVERLAY_TRIPLETS='/w/tools/vcpkg/triplets'"]
Not searching for unused variables given on the command line.
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /w/build/gui/cli
INFO: ['cmake', '--build', '.', '--config', 'Release', '--parallel', '12', '--']
[ 0%] Built target windscribe-cli_autogen_timestamp_deps
[ 1%] Built target windscribe-cli_autogen
[100%] Built target windscribe-cli
-- Install configuration: "Release"
-- Installing: /w/temp/installer/InstallerFiles/./windscribe-cli
-- Set non-toolchain portion of runtime path of "/w/temp/installer/InstallerFiles/./windscribe-cli" to ""
INFO: Building Helper...
INFO: ['cmake', '-DCMAKE_PREFIX_PATH:PATH=/w/build-libs/qt', '/w/backend/linux/helper/CMakeLists.txt', '--no-warn-unused-cli', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_TOOLCHAIN_FILE=/w/vcpkg/scripts/buildsystems/vcpkg.cmake', "-DVCPKG_OVERLAY_TRIPLETS='/w/tools/vcpkg/triplets'"]
Not searching for unused variables given on the command line.
-- Found Boost: /w/vcpkg/installed/x64-linux/share/boost/BoostConfig.cmake (found version "1.85.0") found components: serialization thread filesystem
-- Found OpenSSL: /w/vcpkg/installed/x64-linux/lib/libcrypto.so (found version "3.2.0")
-- Found OpenSSL: /w/vcpkg/installed/x64-linux/lib/libcrypto.so (found suitable version "3.2.0", minimum required is "3")
CMake Warning at /w/vcpkg/installed/x64-linux/share/curl/vcpkg-cmake-wrapper.cmake:45 (message):
CURL_LIBRARIES list at least one target. This will not work for use cases
where targets are not resolved.
Call Stack (most recent call first):
/w/vcpkg/scripts/buildsystems/vcpkg.cmake:813 (include)
/w/libs/wsnet/CMakeLists.txt:23 (find_package)
-- RapidJSON found. Headers: /w/vcpkg/installed/x64-linux/share/rapidjson/../../include
-- Found Boost: /w/vcpkg/installed/x64-linux/share/boost/BoostConfig.cmake (found version "1.85.0") found components: filesystem
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /w/build/backend/linux/helper
INFO: ['cmake', '--build', '.', '--config', 'Release', '--parallel', '12', '--']
[ 13%] Built target cert-resources
[ 14%] Building CXX object wsnet/CMakeFiles/wsnet.dir/src/wsnet.cpp.o
[ 15%] Building CXX object wsnet/CMakeFiles/wsnet.dir/src/apiresourcesmanager/apiresourcesmanager.cpp.o
[ 17%] Building CXX object wsnet/CMakeFiles/wsnet.dir/src/serverapi/serverapi.cpp.o
/w/libs/wsnet/src/apiresourcesmanager/apiresourcesmanager.cpp: In member function ‘void wsnet::ApiResourcesManager::updateSessionStatus()’:
/w/libs/wsnet/src/apiresourcesmanager/apiresourcesmanager.cpp:517:75: error: ‘class wsnet::Settings’ has no member named ‘deviceId’
517 | sessionStatus_->isContainsStaticDeviceId(Settings::instance().deviceId()) ||
| ^~~~~~~~
/w/libs/wsnet/src/serverapi/serverapi.cpp: In member function ‘virtual std::shared_ptr<wsnet::WSNetCancelableCallback> wsnet::ServerAPI::serverConfigs(const string&, wsnet::WSNetRequestFinishedCallback)’:
/w/libs/wsnet/src/serverapi/serverapi.cpp:97:91: error: ‘class wsnet::Settings’ has no member named ‘openVersionVersion’
97 | BaseRequest *request = requests_factory::serverConfigs(authHash, Settings::instance().openVersionVersion(), cancelableCallback);
| ^~~~~~~~~~~~~~~~~~
/w/libs/wsnet/src/serverapi/serverapi.cpp: In member function ‘virtual std::shared_ptr<wsnet::WSNetCancelableCallback> wsnet::ServerAPI::recordInstall(wsnet::WSNetRequestFinishedCallback)’:
/w/libs/wsnet/src/serverapi/serverapi.cpp:113:81: error: ‘class wsnet::Settings’ has no member named ‘basePlatform’
113 | BaseRequest *request = requests_factory::recordInstall(Settings::instance().basePlatform(), cancelableCallback);
| ^~~~~~~~~~~~
/w/libs/wsnet/src/serverapi/serverapi.cpp: In member function ‘virtual std::shared_ptr<wsnet::WSNetCancelableCallback> wsnet::ServerAPI::staticIps(const string&, wsnet::WSNetRequestFinishedCallback)’:
/w/libs/wsnet/src/serverapi/serverapi.cpp:178:87: error: ‘class wsnet::Settings’ has no member named ‘basePlatform’
178 | BaseRequest *request = requests_factory::staticIps(authHash, Settings::instance().basePlatform(), Settings::instance().deviceId(), cancelableCallback);
| ^~~~~~~~~~~~
/w/libs/wsnet/src/serverapi/serverapi.cpp:178:124: error: ‘class wsnet::Settings’ has no member named ‘deviceId’
178 | BaseRequest *request = requests_factory::staticIps(authHash, Settings::instance().basePlatform(), Settings::instance().deviceId(), cancelableCallback);
| ^~~~~~~~
/w/libs/wsnet/src/serverapi/serverapi.cpp: In member function ‘virtual std::shared_ptr<wsnet::WSNetCancelableCallback> wsnet::ServerAPI::sendSupportTicket(const string&, const string&, const string&, const string&, const string&, const string&, const string&, wsnet::WSNetRequestFinishedCallback)’:
/w/libs/wsnet/src/serverapi/serverapi.cpp:300:176: error: ‘class wsnet::Settings’ has no member named ‘basePlatform’
300 | BaseRequest *request = requests_factory::sendSupportTicket(supportEmail, supportName, supportSubject, supportMessage, supportCategory, type, channel, Settings::instance().basePlatform(), cancelableCallback);
| ^~~~~~~~~~~~
/w/libs/wsnet/src/serverapi/serverapi.cpp: In member function ‘virtual std::shared_ptr<wsnet::WSNetCancelableCallback> wsnet::ServerAPI::recordShakeForDataScore(const string&, const string&, const string&, wsnet::WSNetRequestFinishedCallback)’:
/w/libs/wsnet/src/serverapi/serverapi.cpp:340:101: error: ‘class wsnet::Settings’ has no member named ‘basePlatform’
340 | BaseRequest *request = requests_factory::recordShakeForDataScore(authHash, Settings::instance().basePlatform(), score, signature, cancelableCallback);
| ^~~~~~~~~~~~
make[2]: *** [wsnet/CMakeFiles/wsnet.dir/build.make:356: wsnet/CMakeFiles/wsnet.dir/src/serverapi/serverapi.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [wsnet/CMakeFiles/wsnet.dir/build.make:104: wsnet/CMakeFiles/wsnet.dir/src/apiresourcesmanager/apiresourcesmanager.cpp.o] Error 1
/w/libs/wsnet/src/wsnet.cpp: In member function ‘bool wsnet::WSNet_impl::initializeImpl(const string&, const string&, const string&, const string&, const string&, bool, const string&)’:
/w/libs/wsnet/src/wsnet.cpp:68:30: error: ‘class wsnet::Settings’ has no member named ‘setBasePlatform’
68 | Settings::instance().setBasePlatform(platformName);
| ^~~~~~~~~~~~~~~
/w/libs/wsnet/src/wsnet.cpp:69:30: error: ‘class wsnet::Settings’ has no member named ‘setDeviceId’
69 | Settings::instance().setDeviceId(deviceId);
| ^~~~~~~~~~~
/w/libs/wsnet/src/wsnet.cpp:70:30: error: ‘class wsnet::Settings’ has no member named ‘setOpenVersionVersion’
70 | Settings::instance().setOpenVersionVersion(openVpnVersion);
| ^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [wsnet/CMakeFiles/wsnet.dir/build.make:76: wsnet/CMakeFiles/wsnet.dir/src/wsnet.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:345: wsnet/CMakeFiles/wsnet.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
ERROR: Command failed: "['cmake', '--build', '.', '--config', 'Release', '--parallel', '12', '--']"
root@b1fb1ce55165:/w/tools#
Describe the bug Can't build windscribe on docker libs/wsnet/src/public/settings.h lacks some members (setBasePlatform, setDeviceIdd, setOpenVersionVersion)
OS and app information:
To Reproduce Steps to reproduce the behavior: reproduce instructions in README for linux in docker
Expected behavior Windscribe is building successfully
Additional context log