Ken Brown, on Saturday, May 18, 2019 11:54 AM, wrote... >On 5/18/2019 8:19 AM, Jose Isaias Cabrera wrote: > > I am finished and now to start building Bedrockdb. Thanks. > > By the way, you're not the only person building Bedrockdb on Cygwin. Someone > has posted about 10 fixes in the last few days: > > https://github.com/Expensify/Bedrock/issues > > It looks like this person is porting the source code to gcc-7.4.0.
Thanks, Ken. Maybe I should go back to my original plan to build with gcc-7.4.0. These are all the errors that I am getting with gcc 6.4.0, which I just took two days to build: e608313@HOR711318E ~/Bedrock $ CC=gcc GXX=g++ make g++ -g -std=c++14 -fpic -O2 -Wall -Werror -Wformat-security -DGIT_REVISION=ce62c88 -I/home/e608313/Bedrock -I/home/e608313/Bedrock/mbedtls/include -MMD -MF libstuff/libstuff.d -MT libstuff/libstuff.h.gch -c libstuff/libstuff.h libstuff/libstuff.h:424:17: error: ‘recursive_mutex’ does not name a type mutable recursive_mutex m; ^~~~~~~~~~~~~~~ libstuff/libstuff.h: In member function ‘std::__cxx11::string std::atomic<std::__cxx11::basic_string<char> >::operator=(std::__cxx11::string)’: libstuff/libstuff.h:399:23: error: ‘m’ was not declared in this scope SAUTOLOCK(m); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:399:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h:388:58: error: unused variable ‘__SAUTOLOCK___LINE__’ [-Werror=unused-variable] #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:399:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h: In member function ‘void std::atomic<std::__cxx11::basic_string<char> >::store(std::__cxx11::string, std::memory_order)’: libstuff/libstuff.h:407:23: error: ‘m’ was not declared in this scope SAUTOLOCK(m); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:407:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h:388:58: error: unused variable ‘__SAUTOLOCK___LINE__’ [-Werror=unused-variable] #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:407:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h: In member function ‘std::__cxx11::string std::atomic<std::__cxx11::basic_string<char> >::load(std::memory_order) const’: libstuff/libstuff.h:411:23: error: ‘m’ was not declared in this scope SAUTOLOCK(m); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:411:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h:388:58: error: unused variable ‘__SAUTOLOCK___LINE__’ [-Werror=unused-variable] #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:411:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h: In member function ‘std::__cxx11::string std::atomic<std::__cxx11::basic_string<char> >::exchange(std::__cxx11::string, std::memory_order)’: libstuff/libstuff.h:416:23: error: ‘m’ was not declared in this scope SAUTOLOCK(m); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:416:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h:388:58: error: unused variable ‘__SAUTOLOCK___LINE__’ [-Werror=unused-variable] #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/libstuff.h:416:13: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(m); ^~~~~~~~~ libstuff/libstuff.h: In function ‘bool SIEquals(const string&, const string&)’: libstuff/libstuff.h:479:105: error: ‘strcasecmp’ was not declared in this scope inline bool SIEquals(const string& lhs, const string& rhs) { return !strcasecmp(lhs.c_str(), rhs.c_str()); } ^ In file included from libstuff/libstuff.h:858:0: libstuff/STCPManager.h: At global scope: libstuff/STCPManager.h:39:9: error: ‘recursive_mutex’ does not name a type recursive_mutex sendRecvMutex; ^~~~~~~~~~~~~~~ libstuff/STCPManager.h:63:67: error: ‘recursive_mutex’ has not been declared Socket* openSocket(const string& host, SX509* x509 = nullptr, recursive_mutex* listMutexPtr = nullptr); ^~~~~~~~~~~~~~~ In file included from libstuff/libstuff.h:859:0: libstuff/STCPServer.h:40:5: error: ‘mutex’ does not name a type mutex portListMutex; ^~~~~ In file included from libstuff/libstuff.h:860:0: libstuff/STCPNode.h:64:9: error: ‘recursive_mutex’ does not name a type recursive_mutex socketMutex; ^~~~~~~~~~~~~~~ In file included from libstuff/libstuff.h:861:0: libstuff/SHTTPSManager.h:61:5: error: ‘recursive_mutex’ does not name a type recursive_mutex _listMutex; ^~~~~~~~~~~~~~~ In file included from libstuff/libstuff.h:864:0: libstuff/SRandom.h:7:27: error: ‘uint’ has not been declared static string randStr(uint& length); ^~~~ In file included from libstuff/libstuff.h:867:0: libstuff/SSynchronizedQueue.h:39:13: error: ‘recursive_mutex’ does not name a type mutable recursive_mutex _queueMutex; ^~~~~~~~~~~~~~~ libstuff/SSynchronizedQueue.h: In member function ‘bool SSynchronizedQueue<T>::empty() const’: libstuff/SSynchronizedQueue.h:83:15: error: ‘_queueMutex’ was not declared in this scope SAUTOLOCK(_queueMutex); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/SSynchronizedQueue.h:83:5: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(_queueMutex); ^~~~~~~~~ libstuff/SSynchronizedQueue.h: In member function ‘virtual const T& SSynchronizedQueue<T>::front() const’: libstuff/SSynchronizedQueue.h:89:15: error: ‘_queueMutex’ was not declared in this scope SAUTOLOCK(_queueMutex); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/SSynchronizedQueue.h:89:5: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(_queueMutex); ^~~~~~~~~ libstuff/SSynchronizedQueue.h: In member function ‘virtual T SSynchronizedQueue<T>::pop()’: libstuff/SSynchronizedQueue.h:98:15: error: ‘_queueMutex’ was not declared in this scope SAUTOLOCK(_queueMutex); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/SSynchronizedQueue.h:98:5: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(_queueMutex); ^~~~~~~~~ libstuff/SSynchronizedQueue.h: In member function ‘virtual void SSynchronizedQueue<T>::push(T&&)’: libstuff/SSynchronizedQueue.h:109:15: error: ‘_queueMutex’ was not declared in this scope SAUTOLOCK(_queueMutex); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/SSynchronizedQueue.h:109:5: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(_queueMutex); ^~~~~~~~~ libstuff/SSynchronizedQueue.h: In member function ‘size_t SSynchronizedQueue<T>::size() const’: libstuff/SSynchronizedQueue.h:120:15: error: ‘_queueMutex’ was not declared in this scope SAUTOLOCK(_queueMutex); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/SSynchronizedQueue.h:120:5: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(_queueMutex); ^~~~~~~~~ libstuff/SSynchronizedQueue.h: In member function ‘void SSynchronizedQueue<T>::each(std::function<void(T&)>)’: libstuff/SSynchronizedQueue.h:126:15: error: ‘_queueMutex’ was not declared in this scope SAUTOLOCK(_queueMutex); ^ libstuff/libstuff.h:388:48: note: in definition of macro ‘SAUTOLOCK’ #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^~~~~~~ libstuff/libstuff.h:388:56: error: template argument 1 is invalid #define SAUTOLOCK(_MUTEX_) lock_guard<decltype(_MUTEX_)> __SAUTOLOCK_##__LINE__(_MUTEX_); ^ libstuff/SSynchronizedQueue.h:126:5: note: in expansion of macro ‘SAUTOLOCK’ SAUTOLOCK(_queueMutex); ^~~~~~~~~ cc1plus: all warnings being treated as errors make: *** No rule to make target 'libstuff/libstuff.d', needed by '.build/libstuff/libstuff.d'. Stop. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple