Web lists-archives.com

Re: Building Bedrockdb in cygwin




On 14/05/2019 19:11, Jose Isaias Cabrera wrote:
(snip)

However, having jumped that huddle, I encountered a new one, which is probably easier to deal with. The make command does a lot of work, but once it's going to start compiling, I get,

[good stuff clipped]
   CC    util/pem2der.c
   CC    util/strerror.c
   CC    x509/cert_app.c
   CC    x509/crl_app.c
   CC    x509/cert_req.c
   CC    x509/cert_write.c
   CC    x509/req_app.c
make[2]: Leaving directory '/home/e608313/Bedrock/mbedtls/programs'
make[1]: Leaving directory '/home/e608313/Bedrock/mbedtls'
g++-6 -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
make: g++-6: Command not found
make: *** No rule to make target 'libstuff/libstuff.d', needed by '.build/libstuff/libstuff.d'.  Stop.

So, it appears that I need something called g++-6. I have both gcc and g++

$ ls /usr/bin/g++*
/usr/bin/g++.exe*

So, the question is, what is g++-6, and how to I get it?  I tried to find it with cygwin's setup, but it's not on the distro.  I tried to duckduckgo it, but I didn't get anything useful.  Thoughts?  Thanks

g++-6 is version 6 of the C++ compiler in the GNU Compiler Collection.

Cygwin's gcc and g++ is version 7.4.0:
$ g++.exe -dumpversion
7.4.0

Bedrockdb's makefile begins with:

# Set the compiler, if it's not set by the environment.
ifndef GXX
        GXX = g++-6
endif

ifndef CC
        CC = gcc-6
endif

so the C++ compiler (GXX) is set to g++-6 unless GXX is set explicitly.


You need to run make like this:

CC=gcc GXX=g++ make <whatever arguments you gave to make, if any>

This will force make to use g++ instead of g++-6

Hope this helps,

Csaba
--
You can get very substantial performance improvements
by not doing the right thing. - Scott Meyers, An Effective C++11/14 Sampler
So if you're looking for a completely portable, 100% standards-conformat way
to get the wrong information: this is what you want. - Scott Meyers (C++TDaWYK)

--
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