smyte / ratelimit Goto Github PK
View Code? Open in Web Editor NEWSmyte's high-performance rate limiter
License: Other
Smyte's high-performance rate limiter
License: Other
can't build ratelimit:
# git log -1
commit c3e45f7d0e6d5b4ed932f1cf502e2b20b825ccae
Merge: d077e2b d1ddda0
Author: Pete Hunt <[email protected]>
Date: Fri Nov 4 20:08:38 2016 +0000
Merge branch 'reposync-github/cpp-build' of /home/pete/authbox
# bazel build -c opt ratelimit
Extracting Bazel installation...
..............
ERROR: /v2/tmp/cpp-build/WORKSPACE:214:1: in bind rule //external:gtest: non-test target '//external:gtest' depends on testonly target '@gtest_archive//:gtest' and doesn't have testonly attribute set.
ERROR: Analysis of target '//ratelimit:ratelimit' failed; build aborted.
INFO: Elapsed time: 67.532s
could you please tell me how to fix it so that i can build ratelimit binary.
In file included from ratelimit/RateLimitServer.cpp:3:0:
./pipeline/RedisPipelineBootstrap.h:124:5: note: candidate: pipeline::RedisPipelineBootstrap::Config::Config(pipeline::RedisPipelineBootstrap::RedisHandlerFactory, pipeline::RedisPipelineBootstrap::KafkaConsumerFactoryMap, pipeline::RedisPipelineBootstrap::DatabaseManagerFactory, pipeline::RedisPipelineBootstrap::ScheduledTaskProcessorFactoryMap, pipeline::RedisPipelineBootstrap::RocksDbCfConfiguratorMap, pipeline::RedisPipelineBootstrap::RocksDbConfigurator, bool)
Config(RedisHandlerFactory _redisHandlerFactory,
^
./pipeline/RedisPipelineBootstrap.h:124:5: note: no known conversion for argument 4 from 'std::nullptr_t' to 'pipeline::RedisPipelineBootstrap::ScheduledTaskProcessorFactoryMap {aka std::unordered_map<std::__cxx11::basic_string, std::shared_ptrinfra::ScheduledTaskProcessor ()(pipeline::RedisPipelineBootstrap)>}'
./pipeline/RedisPipelineBootstrap.h:94:10: note: candidate: pipeline::RedisPipelineBootstrap::Config::Config(const pipeline::RedisPipelineBootstrap::Config&)
struct Config {
^
Installed a fresh version of Ubuntu 16.04 and the project build fails with:
ERROR: /home/ubuntu/Desktop/smyte-db/ratelimit/BUILD:1:1: C++ compilation of rule '//ratelimit:ratelimit' failed: Process exited with status 1 [sandboxed].
ratelimit/RateLimitServer.cpp:9:68: error: 'OptionalComponents' in 'class pipeline::RedisPipelineBootstrap' does not name a type
redisHandlerFactory : [](const pipeline::RedisPipelineBootstrap::OptionalComponents& optionalComponents) {
^
ratelimit/RateLimitServer.cpp:15:3: error: 'kafkaTailerFactoryMap' has not been declared
kafkaTailerFactoryMap : {},
^
ratelimit/RateLimitServer.cpp:15:25: error: expected ',' or '...' before ':' token
kafkaTailerFactoryMap : {},
^
ratelimit/RateLimitServer.cpp:26:1: error: expected ')' before '}' token
};
^
ratelimit/RateLimitServer.cpp: In lambda function:
ratelimit/RateLimitServer.cpp:26:1: error: expected '{' before '}' token
ratelimit/RateLimitServer.cpp: At global scope:
ratelimit/RateLimitServer.cpp:26:1: error: invalid user-defined conversion from 'ratelimit::<lambda(int, int)>' to 'pipeline::RedisPipelineBootstrap::RedisHandlerFactory {aka std::shared_ptr<pipeline::RedisHandler> (*)(pipeline::RedisPipelineBootstrap*)}' [-fpermissive]
ratelimit/RateLimitServer.cpp:26:1: note: candidate is: ratelimit::<lambda(int, int)>::operator void (*)(int, int)() const <near match>
ratelimit/RateLimitServer.cpp:26:1: note: no known conversion from 'void (*)(int, int)' to 'pipeline::RedisPipelineBootstrap::RedisHandlerFactory {aka std::shared_ptr<pipeline::RedisHandler> (*)(pipeline::RedisPipelineBootstrap*)}'
In file included from ratelimit/RateLimitServer.cpp:3:0:
./pipeline/RedisPipelineBootstrap.h:113:5: note: initializing argument 1 of 'pipeline::RedisPipelineBootstrap::Config::Config(pipeline::RedisPipelineBootstrap::RedisHandlerFactory, pipeline::RedisPipelineBootstrap::KafkaConsumerFactoryMap, pipeline::RedisPipelineBootstrap::DatabaseManagerFactory, pipeline::RedisPipelineBootstrap::ScheduledTaskProcessorFactory, pipeline::RedisPipelineBootstrap::RocksDbConfiguratorMap, bool)'
Config(RedisHandlerFactory _redisHandlerFactory,
^
Use --strategy=CppCompile=standalone to disable sandboxing for the failing actions.
Target //ratelimit:ratelimit failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 787.023s, Critical Path: 595.89s
Wrong cpp version? Any ideas?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.