unable to built a libArcus

Open
#151 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
cmake, cpp
Domain
build-system

Research direction

Reproduce the failure with cmake --build --preset release on the reported MinGW/Windows setup, then inspect src/PlatformSocket.cpp, src/Socket.cpp, and src/Socket_p.h alongside the compiler diagnostics. Done means the release preset builds successfully without the reported InetPton, threading, mutex, or condition-variable errors.

Written by the indexing model from the issue text.

Description

cmake --build --preset release
[2/6] Building CXX object CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.obj
FAILED: CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.obj
C:\MinGW\bin\c++.exe -DArcus_EXPORTS -DPROTOBUF_USE_DLLS -D_WIN32_WINNT=0x0600 -ID:/curabuild/libArcus/include -ID:/curabuild/libArcus/src -isystem C:/.conan/a10a5f/1/include -isystem C:/.conan/424683/1/include -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.obj -MF CMakeFiles\Arcus.dir\src\PlatformSocket.cpp.obj.d -o CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.obj -c D:/curabuild/libArcus/src/PlatformSocket.cpp
D:/curabuild/libArcus/src/PlatformSocket.cpp: In function 'sockaddr_in createAddress(const string&, int)':
D:/curabuild/libArcus/src/PlatformSocket.cpp:50:5: error: 'InetPton' was not declared in this scope
50 | InetPton(AF_INET, address.c_str(), &(a.sin_addr)); // Note: Vista and higher only.
| ^~~~~~~~
[4/6] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.obj
FAILED: CMakeFiles/Arcus.dir/src/Socket.cpp.obj
C:\MinGW\bin\c++.exe -DArcus_EXPORTS -DPROTOBUF_USE_DLLS -D_WIN32_WINNT=0x0600 -ID:/curabuild/libArcus/include -ID:/curabuild/libArcus/src -isystem C:/.conan/a10a5f/1/include -isystem C:/.conan/424683/1/include -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/Arcus.dir/src/Socket.cpp.obj -MF CMakeFiles\Arcus.dir\src\Socket.cpp.obj.d -o CMakeFiles/Arcus.dir/src/Socket.cpp.obj -c D:/curabuild/libArcus/src/Socket.cpp
In file included from C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:67,
from C:/.conan/a10a5f/1/include/google/protobuf/message.h:123,
from D:/curabuild/libArcus/src/Socket_p.h:31,
from D:/curabuild/libArcus/src/Socket.cpp:5:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:112:8: error: 'once_flag' in namespace 'std' does not name a type
112 | std::once_flag flag_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:65:1: note: 'std::once_flag' is defined in header ''; did you forget to '#include '?
64 | #include <google/protobuf/port_def.inc>
+++ |+#include
65 |
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In constructor 'constexpr google::protobuf::internal::CallOnceInitializedMutex::CallOnceInitializedMutex()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h💯42: error: class 'google::protobuf::internal::CallOnceInitializedMutex' does not have any field named 'flag_'
100 | constexpr CallOnceInitializedMutex() : flag_{}, buf_{} {}
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In member function 'T& google::protobuf::internal::CallOnceInitializedMutex::get()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:108:10: error: 'call_once' is not a member of 'std'
108 | std::call_once(flag_, [&] { ::new (static_cast<void*>(&buf_)) T(); });
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:108:20: error: 'flag_' was not declared in this scope
108 | std::call_once(flag_, [&] { ::new (static_cast<void*>(&buf_)) T(); });
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:136:33: error: 'mutex' is not a member of 'std'
136 | CallOnceInitializedMutexstd::mutex mu_{};
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:136:33: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:136:38: error: template argument 1 is invalid
136 | CallOnceInitializedMutexstd::mutex mu_{};
| ^
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In member function 'void google::protobuf::internal::WrappedMutex::Lock()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:126:47: error: request for member 'lock' in '((google::protobuf::internal::WrappedMutex*)this)->google::protobuf::internal::WrappedMutex::mu_', which is of non-class type 'int'
126 | void Lock() GOOGLE_PROTOBUF_ACQUIRE() { mu_.lock(); }
| ^~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In member function 'void google::protobuf::internal::WrappedMutex::Unlock()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:127:49: error: request for member 'unlock' in '((google::protobuf::internal::WrappedMutex*)this)->google::protobuf::internal::WrappedMutex::mu_', which is of non-class type 'int'
127 | void Unlock() GOOGLE_PROTOBUF_RELEASE() { mu_.unlock(); }
| ^~~~~~
In file included from C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:68,
from C:/.conan/a10a5f/1/include/google/protobuf/message.h:123,
from D:/curabuild/libArcus/src/Socket_p.h:31,
from D:/curabuild/libArcus/src/Socket.cpp:5:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:43:24: error: 'once_flag' in namespace 'std' does not name a type
43 | using once_flag = std::once_flag;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:38:1: note: 'std::once_flag' is defined in header ''; did you forget to '#include '?
37 | #include <google/protobuf/port_def.inc>
+++ |+#include
38 |
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h: In function 'void google::protobuf::internal::call_once(Args&& ...)':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:46:8: error: 'call_once' is not a member of 'std'; did you mean 'google::protobuf::internal::call_once'?
46 | std::call_once(std::forward(args)...);
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:45:6: note: 'google::protobuf::internal::call_once' declared here
45 | void call_once(Args&&... args ) {
| ^~~~~~~~~
In file included from C:/.conan/a10a5f/1/include/google/protobuf/message.h:123,
from D:/curabuild/libArcus/src/Socket_p.h:31,
from D:/curabuild/libArcus/src/Socket.cpp:5:
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:238:13: error: 'once_flag' in namespace 'google::protobuf::internal' does not name a type
238 | internal::once_flag* once_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: In member function 'void google::protobuf::internal::LazyDescriptor::Init()':
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:209:5: error: 'once_' was not declared in this scope
209 | once_ = nullptr;
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:944:13: error: 'once_flag' in namespace 'google::protobuf::internal' does not name a type
944 | internal::once_flag* type_once_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:1663:13: error: 'once_flag' in namespace 'google::protobuf::internal' does not name a type
1663 | internal::once_flag* dependencies_once_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: In member function 'google::protobuf::FieldDescriptor::Type google::protobuf::FieldDescriptor::type() const':
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:2287:7: error: 'type_once_' was not declared in this scope
2287 | if (type_once_) {
| ^~~~~~~~~~
In file included from C:/.conan/a10a5f/1/include/google/protobuf/message.h:124,
from D:/curabuild/libArcus/src/Socket_p.h:31,
from D:/curabuild/libArcus/src/Socket.cpp:5:
C:/.conan/a10a5f/1/include/google/protobuf/generated_message_reflection.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/generated_message_reflection.h:302:3: error: 'once_flag' does not name a type
302 | once_flag* once;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/generated_message_reflection.h:335:44: error: 'google::protobuf::internal::once_flag' has not been declared
335 | internal::once_flag* once,
| ^~~~~~~~
In file included from D:/curabuild/libArcus/src/Socket.cpp:5:
D:/curabuild/libArcus/src/Socket_p.h:90:10: error: 'thread' in namespace 'std' does not name a type
90 | std::thread* thread;
| ^~~~~~
D:/curabuild/libArcus/src/Socket_p.h:41:1: note: 'std::thread' is defined in header ''; did you forget to '#include '?
40 | #include "WireMessage_p.h"
+++ |+#include
41 |
D:/curabuild/libArcus/src/Socket_p.h:99:10: error: 'mutex' in namespace 'std' does not name a type
99 | std::mutex sendQueueMutex;
| ^~~~~
D:/curabuild/libArcus/src/Socket_p.h:41:1: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
40 | #include "WireMessage_p.h"
+++ |+#include
41 |
D:/curabuild/libArcus/src/Socket_p.h:101:10: error: 'mutex' in namespace 'std' does not name a type
101 | std::mutex receiveQueueMutex;
| ^~~~~
D:/curabuild/libArcus/src/Socket_p.h:101:5: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
101 | std::mutex receiveQueueMutex;
| ^~~
D:/curabuild/libArcus/src/Socket_p.h:103:10: error: 'mutex' in namespace 'std' does not name a type
103 | std::mutex receiveQueueMutexBlock;
| ^~~~~
D:/curabuild/libArcus/src/Socket_p.h:103:5: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
103 | std::mutex receiveQueueMutexBlock;
| ^~~
D:/curabuild/libArcus/src/Socket_p.h:104:10: error: 'condition_variable' in namespace 'std' does not name a type
104 | std::condition_variable message_received_condition_variable;
| ^~~~~~~~~~~~~~~~~~
D:/curabuild/libArcus/src/Socket_p.h:41:1: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?
40 | #include "WireMessage_p.h"
+++ |+#include <condition_variable>
41 |
D:/curabuild/libArcus/src/Socket_p.h: In constructor 'Arcus::Socket::Private::Private()':
D:/curabuild/libArcus/src/Socket_p.h:66:112: error: class 'Arcus::Socket::Private' does not have any field named 'thread'
66 | Private() : state(SocketState::Initial), next_state(SocketState::Initial), received_close(false), port(0), thread(nullptr)
| ^~~~~~
D:/curabuild/libArcus/src/Socket_p.h: In member function 'void Arcus::Socket::Private::run()':
D:/curabuild/libArcus/src/Socket_p.h:238:13: error: 'sendQueueMutex' was not declared in this scope; did you mean 'sendQueue'?
238 | sendQueueMutex.lock();
| ^~~~~~~~~~~~~~
| sendQueue
D:/curabuild/libArcus/src/Socket_p.h:267:17: error: 'sendQueueMutex' was not declared in this scope; did you mean 'sendQueue'?
267 | sendQueueMutex.lock();
| ^~~~~~~~~~~~~~
| sendQueue
D:/curabuild/libArcus/src/Socket_p.h:300:17: error: 'sendQueueMutex' was not declared in this scope; did you mean 'sendQueue'?
300 | sendQueueMutex.lock();
| ^~~~~~~~~~~~~~
| sendQueue
D:/curabuild/libArcus/src/Socket_p.h:335:5: error: 'message_received_condition_variable' was not declared in this scope
335 | message_received_condition_variable.notify_all();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from D:/curabuild/libArcus/src/Socket.cpp:5:
D:/curabuild/libArcus/src/Socket_p.h: In member function 'void Arcus::Socket::Private::handleMessage(const std::shared_ptrArcus::Private::WireMessage&)':
D:/curabuild/libArcus/src/Socket_p.h:543:5: error: 'receiveQueueMutex' was not declared in this scope; did you mean 'receiveQueue'?
543 | receiveQueueMutex.lock();
| ^~~~~~~~~~~~~~~~~
| receiveQueue
D:/curabuild/libArcus/src/Socket_p.h:552:5: error: 'message_received_condition_variable' was not declared in this scope
552 | message_received_condition_variable.notify_all();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/curabuild/libArcus/src/Socket.cpp: In destructor 'virtual Arcus::Socket::~Socket()':
D:/curabuild/libArcus/src/Socket.cpp:17:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
17 | if (d->thread)
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:23:19: error: 'class Arcus::Socket::Private' has no member named 'thread'
23 | delete d->thread;
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp: In member function 'virtual void Arcus::Socket::connect(const string&, int)':
D:/curabuild/libArcus/src/Socket.cpp:118:48: error: 'class Arcus::Socket::Private' has no member named 'thread'
118 | if (d->state != SocketState::Initial || d->thread != nullptr)
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:126:8: error: 'class Arcus::Socket::Private' has no member named 'thread'
126 | d->thread = new std::thread(& { d->run(); });
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:126:21: error: expected type-specifier
126 | d->thread = new std::thread(& { d->run(); });
| ^~~
D:/curabuild/libArcus/src/Socket.cpp:126:52: error: expected primary-expression before ')' token
126 | d->thread = new std::thread(& { d->run(); });
| ^
D:/curabuild/libArcus/src/Socket.cpp: In member function 'virtual void Arcus::Socket::reset()':
D:/curabuild/libArcus/src/Socket.cpp:138:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
138 | if (d->thread)
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:140:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
140 | d->thread->join();
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:141:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
141 | d->thread = nullptr;
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp: In member function 'virtual void Arcus::Socket::listen(const string&, int)':
D:/curabuild/libArcus/src/Socket.cpp:151:48: error: 'class Arcus::Socket::Private' has no member named 'thread'
151 | if (d->state != SocketState::Initial || d->thread != nullptr)
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:159:8: error: 'class Arcus::Socket::Private' has no member named 'thread'
159 | d->thread = new std::thread(& { d->run(); });
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:159:21: error: expected type-specifier
159 | d->thread = new std::thread(& { d->run(); });
| ^~~
D:/curabuild/libArcus/src/Socket.cpp:159:52: error: expected primary-expression before ')' token
159 | d->thread = new std::thread(& { d->run(); });
| ^
D:/curabuild/libArcus/src/Socket.cpp: In member function 'virtual void Arcus::Socket::close()':
D:/curabuild/libArcus/src/Socket.cpp:175:12: error: 'class Arcus::Socket::Private' has no member named 'message_received_condition_variable'
175 | d->message_received_condition_variable.notify_all();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/curabuild/libArcus/src/Socket.cpp:187:18: error: 'std::this_thread' has not been declared
187 | std::this_thread::sleep_for(std::chrono::milliseconds(100));
| ^~~~~~~~~~~
D:/curabuild/libArcus/src/Socket.cpp:200:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
200 | if (d->thread)
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:202:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
202 | d->thread->join();
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:203:19: error: 'class Arcus::Socket::Private' has no member named 'thread'
203 | delete d->thread;
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:204:12: error: 'class Arcus::Socket::Private' has no member named 'thread'
204 | d->thread = nullptr;
| ^~~~~~
D:/curabuild/libArcus/src/Socket.cpp:208:8: error: 'class Arcus::Socket::Private' has no member named 'message_received_condition_variable'
208 | d->message_received_condition_variable.notify_all();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/curabuild/libArcus/src/Socket.cpp: In member function 'virtual void Arcus::Socket::sendMessage(Arcus::MessagePtr)':
D:/curabuild/libArcus/src/Socket.cpp:219:26: error: 'mutex' is not a member of 'std'
219 | std::lock_guardstd::mutex lock(d->sendQueueMutex);
| ^~~~~
D:/curabuild/libArcus/src/Socket.cpp:6:1: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
5 | #include "Socket_p.h"
+++ |+#include
6 |
D:/curabuild/libArcus/src/Socket.cpp:219:31: error: template argument 1 is invalid
219 | std::lock_guardstd::mutex lock(d->sendQueueMutex);
| ^
D:/curabuild/libArcus/src/Socket.cpp:219:41: error: 'class Arcus::Socket::Private' has no member named 'sendQueueMutex'; did you mean 'sendQueue'?
219 | std::lock_guardstd::mutex lock(d->sendQueueMutex);
| ^~~~~~~~~~~~~~
| sendQueue
D:/curabuild/libArcus/src/Socket.cpp: In member function 'virtual Arcus::MessagePtr Arcus::Socket::takeNextMessage()':
D:/curabuild/libArcus/src/Socket.cpp:225:27: error: 'mutex' is not a member of 'std'
225 | std::unique_lockstd::mutex lk(d->receiveQueueMutexBlock);
| ^~~~~
D:/curabuild/libArcus/src/Socket.cpp:225:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
D:/curabuild/libArcus/src/Socket.cpp:225:32: error: template argument 1 is invalid
225 | std::unique_lockstd::mutex lk(d->receiveQueueMutexBlock);
| ^
D:/curabuild/libArcus/src/Socket.cpp:225:40: error: 'class Arcus::Socket::Private' has no member named 'receiveQueueMutexBlock'
225 | std::unique_lockstd::mutex lk(d->receiveQueueMutexBlock);
| ^~~~~~~~~~~~~~~~~~~~~~
D:/curabuild/libArcus/src/Socket.cpp:229:30: error: 'mutex' is not a member of 'std'
229 | std::lock_guardstd::mutex lock(d->receiveQueueMutex);
| ^~~~~
D:/curabuild/libArcus/src/Socket.cpp:229:30: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
D:/curabuild/libArcus/src/Socket.cpp:229:35: error: template argument 1 is invalid
229 | std::lock_guardstd::mutex lock(d->receiveQueueMutex);
| ^
D:/curabuild/libArcus/src/Socket.cpp:229:45: error: 'class Arcus::Socket::Private' has no member named 'receiveQueueMutex'; did you mean 'receiveQueue'?
229 | std::lock_guardstd::mutex lock(d->receiveQueueMutex);
| ^~~~~~~~~~~~~~~~~
| receiveQueue
D:/curabuild/libArcus/src/Socket.cpp:242:8: error: 'class Arcus::Socket::Private' has no member named 'message_received_condition_variable'
242 | d->message_received_condition_variable.wait(lk);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/curabuild/libArcus/src/Socket.cpp:247:8: error: request for member 'unlock' in 'lk', which is of non-class type 'int'
247 | lk.unlock();
| ^~~~~~
[5/6] Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.obj
FAILED: CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.obj
C:\MinGW\bin\c++.exe -DArcus_EXPORTS -DPROTOBUF_USE_DLLS -D_WIN32_WINNT=0x0600 -ID:/curabuild/libArcus/include -ID:/curabuild/libArcus/src -isystem C:/.conan/a10a5f/1/include -isystem C:/.conan/424683/1/include -O3 -DNDEBUG -std=c++17 -MD -MT CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.obj -MF CMakeFiles\Arcus.dir\src\MessageTypeStore.cpp.obj.d -o CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.obj -c D:/curabuild/libArcus/src/MessageTypeStore.cpp
In file included from C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:67,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/parser.h:45,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/importer.h:45,
from D:/curabuild/libArcus/src/MessageTypeStore.cpp:10:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:112:8: error: 'once_flag' in namespace 'std' does not name a type
112 | std::once_flag flag_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:65:1: note: 'std::once_flag' is defined in header ''; did you forget to '#include '?
64 | #include <google/protobuf/port_def.inc>
+++ |+#include
65 |
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In constructor 'constexpr google::protobuf::internal::CallOnceInitializedMutex::CallOnceInitializedMutex()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h💯42: error: class 'google::protobuf::internal::CallOnceInitializedMutex' does not have any field named 'flag_'
100 | constexpr CallOnceInitializedMutex() : flag_{}, buf_{} {}
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In member function 'T& google::protobuf::internal::CallOnceInitializedMutex::get()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:108:10: error: 'call_once' is not a member of 'std'
108 | std::call_once(flag_, [&] { ::new (static_cast<void*>(&buf_)) T(); });
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:108:20: error: 'flag_' was not declared in this scope
108 | std::call_once(flag_, [&] { ::new (static_cast<void*>(&buf_)) T(); });
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:136:33: error: 'mutex' is not a member of 'std'
136 | CallOnceInitializedMutexstd::mutex mu_{};
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:136:33: note: 'std::mutex' is defined in header ''; did you forget to '#include '?
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:136:38: error: template argument 1 is invalid
136 | CallOnceInitializedMutexstd::mutex mu_{};
| ^
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In member function 'void google::protobuf::internal::WrappedMutex::Lock()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:126:47: error: request for member 'lock' in '((google::protobuf::internal::WrappedMutex*)this)->google::protobuf::internal::WrappedMutex::mu_', which is of non-class type 'int'
126 | void Lock() GOOGLE_PROTOBUF_ACQUIRE() { mu_.lock(); }
| ^~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h: In member function 'void google::protobuf::internal::WrappedMutex::Unlock()':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/mutex.h:127:49: error: request for member 'unlock' in '((google::protobuf::internal::WrappedMutex*)this)->google::protobuf::internal::WrappedMutex::mu_', which is of non-class type 'int'
127 | void Unlock() GOOGLE_PROTOBUF_RELEASE() { mu_.unlock(); }
| ^~~~~~
In file included from C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:68,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/parser.h:45,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/importer.h:45,
from D:/curabuild/libArcus/src/MessageTypeStore.cpp:10:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:43:24: error: 'once_flag' in namespace 'std' does not name a type
43 | using once_flag = std::once_flag;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:38:1: note: 'std::once_flag' is defined in header ''; did you forget to '#include '?
37 | #include <google/protobuf/port_def.inc>
+++ |+#include
38 |
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h: In function 'void google::protobuf::internal::call_once(Args&& ...)':
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:46:8: error: 'call_once' is not a member of 'std'; did you mean 'google::protobuf::internal::call_once'?
46 | std::call_once(std::forward(args)...);
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/stubs/once.h:45:6: note: 'google::protobuf::internal::call_once' declared here
45 | void call_once(Args&&... args ) {
| ^~~~~~~~~
In file included from C:/.conan/a10a5f/1/include/google/protobuf/compiler/parser.h:45,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/importer.h:45,
from D:/curabuild/libArcus/src/MessageTypeStore.cpp:10:
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:238:13: error: 'once_flag' in namespace 'google::protobuf::internal' does not name a type
238 | internal::once_flag* once_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: In member function 'void google::protobuf::internal::LazyDescriptor::Init()':
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:209:5: error: 'once_' was not declared in this scope
209 | once_ = nullptr;
| ^~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:944:13: error: 'once_flag' in namespace 'google::protobuf::internal' does not name a type
944 | internal::once_flag* type_once_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:1663:13: error: 'once_flag' in namespace 'google::protobuf::internal' does not name a type
1663 | internal::once_flag* dependencies_once_;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h: In member function 'google::protobuf::FieldDescriptor::Type google::protobuf::FieldDescriptor::type() const':
C:/.conan/a10a5f/1/include/google/protobuf/descriptor.h:2287:7: error: 'type_once_' was not declared in this scope
2287 | if (type_once_) {
| ^~~~~~~~~~
In file included from C:/.conan/a10a5f/1/include/google/protobuf/descriptor.pb.h:28,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/parser.h:46,
from C:/.conan/a10a5f/1/include/google/protobuf/compiler/importer.h:45,
from D:/curabuild/libArcus/src/MessageTypeStore.cpp:10:
C:/.conan/a10a5f/1/include/google/protobuf/generated_message_reflection.h: At global scope:
C:/.conan/a10a5f/1/include/google/protobuf/generated_message_reflection.h:302:3: error: 'once_flag' does not name a type
302 | once_flag* once;
| ^~~~~~~~~
C:/.conan/a10a5f/1/include/google/protobuf/generated_message_reflection.h:335:44: error: 'google::protobuf::internal::once_flag' has not been declared
335 | internal::once_flag* once,
| ^~~~~~~~
ninja: build stopped: subcommand failed.

Dominant language
C++
Stars
78
Forks
84
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Ultimaker/libArcus

All issues in Ultimaker/libArcus

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.