forked from apache/kudu
-
Notifications
You must be signed in to change notification settings - Fork 0
Mirror of Apache Kudu
License
jhx1008/kudu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
System Requirements ------------------------------------------------------------ The following dependencies are necessary to build kudu: - gcc 4.4 or higher - boost 1.41 or higher including boost::thread - cmake 2.8.7 Earlier versions of each of these may work, but have not recently been tested. Downloading thirdparty dependencies ------------------------------------------------------------ $ cd thirdparty/ $ ./download-thirdparty.sh Building thirdparty dependencies ------------------------------------------------------------ $ cd thirdparty/ $ ./build-thirdparty.sh This builds the thirdparty dependencies and installs them into thirdparty/installed/ If you are looking to manually run the protobuf compiler, the pprof tool, etc, you can find these in thirdparty/installed/bin/ Building kudu ------------------------------------------------------------ # Add ./thirdparty/installed/bin to your $PATH before other parts of # $PATH that may contain cmake, such as /usr/bin $ cmake . $ make -j4 $ make test Running tests with the clang AddressSanitizer enabled ------------------------------------------------------------ AddressSanitizer is a nice clang feature which can detect many types of memory errors. The Jenkins setup for kudu runs these tests automatically on a regular basis, but if you make large changes it can be a good idea to run it locally before pushing. To do so, you'll need a local install of clang. $ rm -Rf CMakeCache.txt CMakeFiles/ $ CXX=/opt/bin/clang++ cmake -DKUDU_USE_ASAN=1 . # or whatever your path to clang++ $ make -j $ make test The tests will run significantly slower than without ASAN enabled, and if any memory error occurs, the test that triggered it will fail. You can then use a command like: $ src/tablet/failing-test 2>&1 | asan_symbolize.py | c++filt | less to get a proper symbolized stack trace. The asan_symbolize program can be found in the llvm source distribution: https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/asan/scripts/asan_symbolize.py For more information on AddressSanitizer, please see: http://clang.llvm.org/docs/AddressSanitizer.html
About
Mirror of Apache Kudu
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 79.8%
- Java 10.9%
- C 3.3%
- Python 2.2%
- CMake 1.3%
- Protocol Buffer 1.2%
- Other 1.3%