Skip to content
This repository has been archived by the owner on Jan 26, 2024. It is now read-only.

compiler restriction for mocktracer are too strict #50

Closed
heyleke opened this issue Jan 25, 2018 · 6 comments
Closed

compiler restriction for mocktracer are too strict #50

heyleke opened this issue Jan 25, 2018 · 6 comments

Comments

@heyleke
Copy link
Contributor

heyleke commented Jan 25, 2018

#error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"

see https://github.com/nlohmann/json#supported-compilers

I believe a library like opentracing-cpp cannot be as strict in supported compilers as mentioned here, IMHO the line should be c++11, which is AFAIU gcc 4.8.5 (with certain cpu architectures excluded).

So, either this check is wrong, or this component is not a good dependency.

@rnburn
Copy link
Contributor

rnburn commented Jan 25, 2018

Maybe switch to rapidjson? It only requires C++98, but it's a much bigger library.

@heyleke heyleke changed the title compiler restriction for mocktracer are to strict compiler restriction for mocktracer are too strict Jan 25, 2018
@heyleke
Copy link
Contributor Author

heyleke commented Jan 25, 2018

or maybe this one: https://github.com/taocpp/json although I'm no c++11 expert.

This might be a good reference:
https://github.com/miloyip/nativejson-benchmark

@heyleke
Copy link
Contributor Author

heyleke commented Jan 25, 2018

looks like taocpp/json is still in beta and not as fast as rapid.

@rnburn
Copy link
Contributor

rnburn commented Jan 25, 2018

I don't care too much about the performance since the mocktracer is only mean to support unit tests, but I'll get something figured out before I make the next release. (Should probably also add gcc 4.8.5 to the CI coverage).

@heyleke
Copy link
Contributor Author

heyleke commented Jan 26, 2018

correction: actually c++11 feature complete is 4.8.1, not 4.8.5 (that is just the one that ships with centos7)

@rnburn
Copy link
Contributor

rnburn commented Feb 11, 2018

I put in #54 that changes to do only serialization and uses manual code instead of a library.

I removed the deserialization code since that can always be done by the code testing against the mocktracer.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants