Web lists-archives.com

The adventure of building Bedrock in Cygwin: any help would be appreciated


After a few weeks trying to build Bedrock with gcc-6, I abandoned that idea and now I want to do it with the default cygwin compilers (gcc & g++ 7.4.0).

The first problem I encountered was,

libstuff/libstuff.h:7:10: fatal error: execinfo.h: No such file or directory

and this one I have commented out, which may be a mistake, but I don't care about back trace.  After that, I tried it again, and now I have a new problem:

$ CC=gcc GXX=g++ make
g++ -g -std=c++14 -fpic -O2 -Wall -Werror -Wformat-security -DGIT_REVISION=f6d58b9 -I/home/e608313/builds/Bedrock -I/home/e608313/builds/Bedrock/mbedtls/include -MMD -MF libstuff/libstuff.d -MT libstuff/libstuff.h.gch -c libstuff/libstuff.h
libstuff/libstuff.h: In function ‘bool SIEquals(const string&, const string&)’:
libstuff/libstuff.h:485:70: 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()); }
libstuff/libstuff.h:485:70: note: suggested alternative: ‘strncmp’
 inline bool SIEquals(const string& lhs, const string& rhs) { return !strcasecmp(lhs.c_str(), rhs.c_str()); }
In file included from libstuff/libstuff.h:870:0:
libstuff/SRandom.h: At global scope:
libstuff/SRandom.h:7:27: error: ‘uint’ has not been declared
     static string randStr(uint& length);
make: *** No rule to make target 'libstuff/libstuff.d', needed by '.build/libstuff/libstuff.d'.  Stop.

There is no configure script on the source directory, so according to Bedrock [1] this is all I need to build it:

# Clone out this repo:
git clone https://github.com/Expensify/Bedrock.git

# Install some dependencies
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6 g++-6 libpcre++-dev zlib1g-dev

# Build it
cd Bedrock

I have downloaded libpcre-devel v8.43-1 and zlib-devel 1.2.11-1 as well as zlib0 same version. I have opened a git ticket on the Bedrock site and I am waiting for some answers, but I am pretty sure that some of you may know what do to with this. : -) Thanks.


[1] https://bedrockdb.com/#how-to-get-it
Bedrock by Expensify - Bedrock – Rock-solid distributed data<https://bedrockdb.com/#how-to-get-it>
Bedrock – Rock-solid distributed data. Bedrock is a simple, modular, WAN-replicated, Blockchain-based data foundation for global-scale applications.

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