Commit Graph

756 Commits

Author SHA1 Message Date
Nikolai Kochetov
b8e77a0c62 Add -fcoroutines for g++ 2021-10-08 15:06:09 +03:00
feng lv
4841b31b56 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-07 13:20:08 +00:00
Nikita Mikhaylov
f3c50e563e -nostdlib++ 2021-10-05 10:51:49 +00:00
feng lv
86d31445fd Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-05 03:58:27 +00:00
alexey-milovidov
c410107994
Update CMakeLists.txt 2021-10-04 02:34:23 +03:00
Denis Glazachev
9901549c1a
Add space 2021-10-03 20:40:19 +04:00
Denis Glazachev
ca7b69b0f3 Manipulate with -Wreserved-identifier only if HAS_RESERVED_IDENTIFIER has been detected 2021-10-03 17:42:36 +04:00
feng lv
8a4092c55b Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-03 10:00:16 +00:00
Azat Khuzhin
cab0551c5b Add ability to compile using newer version fo glibc w/o using new symbols
In glibc 2.32 new version of some symbols had been added [1]:

    $ nm -D clickhouse | fgrep -e @GLIBC_2.32
                     U pthread_getattr_np@GLIBC_2.32
                     U pthread_sigmask@GLIBC_2.32

  [1]: https://www.spinics.net/lists/fedora-devel/msg273044.html

Right now ubuntu 20.04 is used as official image for building
ClickHouse, however once it will be switched someone may not be happy
with that fact that he/she cannot use official binaries anymore because
they have glibc < 2.32.

To avoid this dependency, let's force previous version of those
symbols from glibc.

Note, that I've tested this by compiling with glibc 2.32 and verifying
that output ELF does not have @GLIBC_2.32 symbols and also running that
binary inside ubuntu:20.04 image (that has glibc 2.31).

v1: -Wl,--wrap
v2: -Wl,--defsym
v3: -include
v4: fix versioning for aarch64
2021-10-01 21:01:59 +03:00
feng lv
ee02e52d3d Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-09-30 16:02:31 +00:00
Azat Khuzhin
d64587ef01 Bump cmake dependency to 3.14
libxz uses if(DEFINED CACHE{}) which has been added only in 3.14.
2021-09-29 10:02:47 +03:00
mergify[bot]
f7ebe0d247
Merge branch 'master' into enable-clang-vtables-optimization 2021-09-25 01:56:16 +00:00
feng lv
dc318000e4 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-09-15 14:12:49 +00:00
sdk2
9117c88a92 better flag check 2021-09-15 12:26:27 +08:00
sdk2
e56ae86f0b fix clang flag use-ctor-homing 2021-09-15 11:57:27 +08:00
feng lv
c58e232385 fix conflict 2021-09-14 06:41:57 +00:00
mergify[bot]
97fbdec71c
Merge branch 'master' into fix-build-clang-13-2 2021-09-11 15:03:52 +00:00
Azat Khuzhin
4e9b2c5d69 Relax ENABLE_CHECK_HEAVY_BUILDS restrictions on systems under pressure (increase RLIMIT_CPU)
The problem was with compiling src/AggregateFunctions/AggregateFunctionQuantile.cpp
2021-09-10 21:05:41 +03:00
mergify[bot]
e3b3439535
Merge branch 'master' into fix-build-clang-13-2 2021-09-10 12:05:54 +00:00
Azat Khuzhin
1ec0295c6f Increase RLIMIT_CPU for ENABLE_CHECK_HEAVY_BUILDS to fix UBsan build
Right now CI fails to compile UBsan while trying to compile src/AggregateFunctions/CMakeFiles/clickhouse_aggregate_functions.dir/AggregateFunctionSumMap.cpp.o:

    2021-09-09 23:02:28 FAILED: src/AggregateFunctions/CMakeFiles/clickhouse_aggregate_functions.dir/AggregateFunctionSumMap.cpp.o
    2021-09-09 23:02:28 prlimit --as=10000000000 --data=5000000000 --cpu=600 /usr/bin/ccache /usr/bin/clang++-12  -DAWS_SDK_VERSION_MAJOR=1 -DAWS_SDK_VERSION_MINOR=7 -DAWS_SDK_VERSION_PATCH=231 -DBOOST_ASIO_STANDALONE=1 -DCARES_STATICLIB -DENABLE_OPENSSL_ENCRYPTION -DPOCO_ENABLE_CPP11 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DSTD_EXCEPTION_HAS_STACK_TRACE=1 -DUNALIGNED_OK -DUSE_REPLXX=1 -DWITH_COVERAGE=0 -DWITH_GZFILEOP -DX86_64 -DZLIB_COMPAT -DZ_TLS=__thread -D__CLANG_SUPPORT_DYN_ANNOTATION__ -I../contrib/sentry-native/include -Iincludes/configs -I../base/glibc-compatibility/memcpy -I../src -Isrc -Isrc/Core/include -I../base/common/.. -Ibase/common/.. -I../contrib/cityhash102/include -I../contrib/cctz/include -Icontrib/zlib-ng -I../contrib/zlib-ng -I../base/pcg-random/. -I../contrib/aws-c-common/include -I../contrib/aws-c-event-stream/include -Icontrib/aws-s3-cmake/include -I../base/mysqlxx/.. -I../contrib/mariadb-connector-c/include -Icontrib/mariadb-connector-c/include -Icontrib/grpc/third_party/cares/cares -I../contrib/grpc/third_party/cares/cares -I../contrib/abseil-cpp -I../contrib/libpq -I../contrib/libpq/include -I../contrib/libstemmer_c/include -I../contrib/wordnet-blast -I../contrib/lemmagen-c/include -isystem ../contrib/datasketches-cpp/common/include -isystem ../contrib/datasketches-cpp/theta/include -isystem ../contrib/libcxx/include -isystem ../contrib/libcxxabi/include -isystem ../contrib/libunwind/include -isystem ../contrib/libpqxx/include -isystem ../contrib/rocksdb/include -isystem ../contrib/orc/c++/include -isystem contrib/orc/c++/include -isystem ../contrib/AMQP-CPP/include -isystem ../contrib/libuv/include -isystem ../contrib/AMQP-CPP -isystem ../contrib/s2geometry/src/s2 -isystem ../contrib/libhdfs3/include -isystem ../contrib/miniselect/include -isystem ../contrib/pdqsort -isystem ../contrib/croaring/cpp -isystem ../contrib/croaring/include -isystem ../contrib/fast_float/include -isystem ../contrib/msgpack-c/include -isystem ../contrib/aws/aws-cpp-sdk-s3/include -isystem ../contrib/aws/aws-cpp-sdk-core/include -isystem ../contrib/xz/src/liblzma/api -isystem ../contrib/zstd/lib -isystem ../contrib/re2 -isystem ../contrib/boost -isystem ../contrib/poco/Net/include -isystem ../contrib/poco/Foundation/include -isystem ../contrib/poco/NetSSL_OpenSSL/include -isystem ../contrib/poco/Crypto/include -isystem ../contrib/boringssl/include -isystem ../contrib/poco/Util/include -isystem ../contrib/poco/JSON/include -isystem ../contrib/poco/XML/include -isystem ../contrib/replxx/include -isystem ../contrib/fmtlib-cmake/../fmtlib/include -isystem ../contrib/double-conversion -isystem ../contrib/dragonbox/include -isystem contrib/re2_st -isystem ../contrib/NuRaft/include -isystem ../contrib/grpc/include -isystem ../contrib/protobuf/src -isystem src/Server/grpc_protos -isystem ../contrib/s2geometry/src -isystem ../contrib/sqlite-amalgamation -isystem ../contrib/libc-headers/x86_64-linux-gnu -isystem ../contrib/libc-headers -g -O2 -fdebug-prefix-map=/build=. -specs=/usr/share/dpkg/no-pie-compile.specs -Wdate-time  -g -fno-omit-frame-pointer -DSANITIZER -fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=float-divide-by-zero -fsanitize-blacklist=/build/tests/ubsan_suppressions.txt -fdiagnostics-color=always -Xclang -fuse-ctor-homing -fsized-deallocation  -gdwarf-aranges -pipe -mssse3 -msse4.1 -msse4.2 -mpclmul -mpopcnt -fasynchronous-unwind-tables -falign-functions=32   -Wall -Wno-unused-command-line-argument  -fdiagnostics-absolute-paths -fexperimental-new-pass-manager -Werror -Wextra -Wpedantic -Wno-vla-extension -Wno-zero-length-array -Wno-c11-extensions -Wcomma -Wconditional-uninitialized -Wcovered-switch-default -Wdeprecated -Wembedded-directive -Wempty-init-stmt -Wextra-semi-stmt -Wextra-semi -Wgnu-case-range -Winconsistent-missing-destructor-override -Wnewline-eof -Wold-style-cast -Wrange-loop-analysis -Wredundant-parens -Wreserved-id-macro -Wshadow-field -Wshadow-uncaptured-local -Wshadow -Wstring-plus-int -Wundef -Wunreachable-code-return -Wunreachable-code -Wunused-exception-parameter -Wunused-macros -Wunused-member-function -Wzero-as-null-pointer-constant -Weverything -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c99-extensions -Wno-conversion -Wno-ctad-maybe-unsupported -Wno-deprecated-dynamic-exception-spec -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-nested-anon-types -Wno-packed -Wno-padded -Wno-return-std-move-in-c++11 -Wno-shift-sign-overflow -Wno-sign-conversion -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -O2 -g -DNDEBUG -O3  -fno-pie   -D OS_LINUX -nostdinc++ -std=gnu++2a -MD -MT src/AggregateFunctions/CMakeFiles/clickhouse_aggregate_functions.dir/AggregateFunctionSumMap.cpp.o -MF src/AggregateFunctions/CMakeFiles/clickhouse_aggregate_functions.dir/AggregateFunctionSumMap.cpp.o.d -o src/AggregateFunctions/CMakeFiles/clickhouse_aggregate_functions.dir/AggregateFunctionSumMap.cpp.o -c ../src/AggregateFunctions/AggregateFunctionSumMap.cpp

I guess the problem is CPU time, since looks like memory is fine (I
cannot reproduce it right now locally, maybe because I have clang-11).
2021-09-10 08:52:17 +03:00
Azat Khuzhin
4d82e8918b Update comments for ENABLE_CHECK_HEAVY_BUILDS 2021-09-10 08:39:56 +03:00
Nikita Mikhaylov
e575cc88fc Better 2021-09-09 21:11:07 +00:00
feng lv
40df3e6c7b reduce debug build binary size by clang optimazition 2021-09-08 19:52:49 +00:00
feng lv
7513cbe9d6 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-09-01 15:38:07 +00:00
Nikita Mikhaylov
0615bf27d6
Merge pull request #27990 from nikitamikhaylov/fix-clang-tidy
Build fuzzers in CI
2021-08-25 18:33:41 +03:00
Braulio Valdivielso
08b21339ec print out git status information at configure stage
This fixes #24373. Having the git status information available in the
CMake logs will make it easier to troubleshoot build failure reports.
2021-08-23 23:06:04 +01:00
feng lv
9f7785ffa9 fix conflict 2021-08-23 06:28:55 +00:00
Nikita Mikhaylov
80ebc6ccea Done 2021-08-22 15:09:49 +00:00
Azat Khuzhin
6a600e5f6f jemalloc: fix under osx (zone_register() had been optimized out again)
v2: use ld -u
v3: move -u to executable
2021-08-18 09:47:59 +03:00
Azat Khuzhin
788384be12 Drop MALLOC_LIBARIRIES usage
a) MALLOC_LIBARIRIES had been removed in
   528e42bc4c ("Improve jemalloc contrib")
b) after JEMALLOC_LIBRARIES left, that had been removed in
   c160b251ba ("Drop support for unbundled jemalloc") in #15828
2021-08-18 09:47:58 +03:00
Alexey Milovidov
6ff43a614c Use only SSE2 in "unbundled" build 2021-08-15 09:52:55 +03:00
Alexey Milovidov
eda489dde8 Untangle CPU features specification in CMake 2021-08-10 02:58:51 +03:00
Nikolay Degterinsky
9a45458faf Add bzip2 file compression 2021-08-07 00:25:52 +00:00
alesapin
4746002776 Add an ability to build ClickHouse without NLP functions 2021-07-30 16:30:30 +03:00
Nikita Mikhaylov
3f36a93656 better 2021-07-13 10:50:12 +00:00
Andr0901
4d75450e54 add tests 2021-07-13 10:49:55 +00:00
feng lv
eafe8a2e59 fix 2021-07-11 03:34:57 +00:00
kssenii
1bf9a9f29f Add .cmake 2021-07-09 10:27:53 +00:00
Denis Glazachev
9788b0e38a Fix locating objcopy in macOS
Rework clickhouse_embed_binaries() to compile asm files properly and avoid duplicate symbols when linking in macOS
2021-06-26 17:39:02 +04:00
Benjamin Naecker
f5cf9adc66 Removes unused CMake variable and fixes clang-tidy lint 2021-06-11 14:35:40 -07:00
Benjamin Naecker
c3506bf16d Adds a better way to include binary resources
- Uses a small assembly file to include binary resources, rather than
  objcopy
- Updates `base/common/getResource.cpp` for this new method of inclusion
- Removes linux-only guards in CMake files, as this solution is
  cross-platform.

The resulting binary resources are available in the ClickHouse server
binary on Linux, macOS, and illumos platforms. FreeBSD has not been
tested, but will likely work as well.
2021-06-09 14:03:30 -07:00
Alexey Milovidov
8d85145725 Remove experimental compression codecs 2021-06-06 02:26:52 +03:00
Alexey Milovidov
6f70feed2f Merge branch 'master' into issue-16775 2021-05-24 05:56:57 +03:00
Alexey Milovidov
8d2fa6cf50 Allow to build without experimental compression libraries and remove from fasttest 2021-05-24 01:18:12 +03:00
Maksim Kita
e7f77f27bf
Merge pull request #24030 from kitaisreal/submodule-llvm-project
Added llvm-project submodule
2021-05-23 16:27:56 +03:00
Azat Khuzhin
c704837a4a Switch message level to WARNING for FAIL_ON_UNSUPPORTED_OPTIONS_COMBINATION=OFF
STATUS (as before this patch) is too quite, WARNING will at least log
this with a stacktrace.
2021-05-23 02:32:03 +03:00
Maksim Kita
42e91df363 Updated submodule to llvm12 2021-05-22 15:22:38 +03:00
BoloniniD
33755f1f3d Implemented YAMLParser class 2021-05-21 21:56:22 +03:00
Amos Bird
d22ab2028f
Run check_*_compiler_flag earlier 2021-05-12 12:14:25 +08:00
divanorama
3c2d1d1c17
Don't try GLIBC_COMPATIBILITY for i686 Linux
```
CMake Error at base/glibc-compatibility/CMakeLists.txt:22 (message):
  glibc_compatibility can only be used on x86_64 or aarch64.
```
2021-05-08 14:22:29 +02:00
Alexey Milovidov
d3b4f22e4e Follow-up for #23644 2021-04-28 07:32:23 +03:00
tavplubix
1d5d69f651
Merge pull request #23637 from ClickHouse/fix-build-with-AMQP
Merging #22984
2021-04-26 11:33:52 +03:00
Alexander Tokmakov
b3849beea3 minor fix 2021-04-26 09:45:52 +03:00
Alexey Milovidov
4e48e758ba Always enable asynchronous-unwind-tables 2021-04-25 01:29:48 +03:00
Denis Glazachev
b349e84fc7 Use nanodbc always together with odbc
Disable clickhouse-odbc-bridge building when odbc is disabled
2021-04-20 15:07:05 +04:00
alexey-milovidov
7a2ba9507d
Merge pull request #21431 from danlark1/master
Add function alignment for better performance
2021-04-15 01:38:20 +03:00
kssenii
72d89bc933 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-09 11:13:01 +00:00
Alexander Kuzmenkov
f968f6bab6 return prlimit for gcc, it was not its fault 2021-04-06 19:46:24 +03:00
Alexander Kuzmenkov
29cf5bd712 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-06 14:31:19 +03:00
kssenii
38f135ab39 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-05 15:37:53 +00:00
mastertheknife
65ca073f42 Allow unbundled xz (lzma) using USE_INTERNAL_XZ_LIBRARY=OFF 2021-04-04 01:05:07 +03:00
kssenii
90db0be8e9 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-03 08:01:13 +00:00
Alexander Kuzmenkov
2c91fc55e9 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-02 18:38:05 +03:00
Alexander Kuzmenkov
6f3f4f821a disable prlimit altogether for gcc 2021-04-02 14:00:15 +03:00
Alexander Kuzmenkov
b09e15d430 increase cpu time limit for gcc 2021-04-02 03:09:14 +03:00
Alexander Kuzmenkov
eef57a1a46 increase rlimit for gcc 2021-04-02 01:20:58 +03:00
Alexander Kuzmenkov
a6b6e204b7 more debug 2021-04-01 23:49:21 +03:00
mastertheknife
9b38ed1f92 ppc64le: Fix CMake error about internal CMake variable CMAKE_ASM_COMPILE_OBJECT not set 2021-04-01 19:55:35 +03:00
Kseniia Sumarokova
e3fac9ef32
Merge branch 'master' into nanodbc 2021-04-01 16:38:00 +03:00
Alexander Kuzmenkov
faddd7e815 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-01 14:26:36 +03:00
alexey-milovidov
b224dd1fe1
Update CMakeLists.txt 2021-04-01 07:22:38 +03:00
Alexander Kuzmenkov
a91f505899 remove debug 2021-04-01 00:59:31 +03:00
Alexander Kuzmenkov
a55d03cb62 try to avoid conflict with prlimit 2021-03-31 22:41:53 +03:00
Alexey Milovidov
2f7ac2424d Merge branch 'master' into datasketches-cmake 2021-03-31 08:47:27 +03:00
alexey-milovidov
c71da4a5c8
Update CMakeLists.txt
Co-authored-by: Denis Glazachev <traceon@users.noreply.github.com>
2021-03-29 21:05:00 +03:00
Denis Glazachev
3e68d14ed1 Set C11 standard version consistently (commented out for now) 2021-03-29 14:52:54 +04:00
Denis Glazachev
b84c55794d Set C++20 standard version consistently (based on CMake version, etc.)
Use C++17 when building the bundled cassandra subproject, since it (and rapidjson) is failing to compile with C++20
2021-03-29 14:52:09 +04:00
kssenii
c81ab04e8f Switch to nanodbc 2021-03-22 12:37:05 +00:00
pingyu
83b7ab1fb5 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into datasketches-cmake 2021-03-20 21:15:07 +08:00
Alexey Milovidov
583c78143d Remove useless CMake option 2021-03-14 14:08:08 +03:00
Alexey Milovidov
e8919c49fb Merge branch 'master' into replace-memcpy 2021-03-13 09:39:58 +03:00
Yatsishin Ilya
71d0a50508 add llvm-12 binaries name 2021-03-09 17:24:12 +03:00
Danila Kutenin
bb57161594 Use flags also during linking 2021-03-03 19:52:29 +00:00
Danila Kutenin
739bc438ea Add compression of debug symbols and function alignment for better performance and startup time 2021-03-03 19:41:20 +00:00
Alexey Milovidov
50c62c3b4c Add memcpy implementation from @jart 2021-03-02 22:12:30 +03:00
pingyu
08126030d6 wip #14893 2021-02-26 00:44:01 +08:00
Maksim Kita
7b3481322e Enable clang vtables optimization 2021-02-06 16:42:52 +03:00
Alexey Milovidov
a19e7edd14 Merge branch 'master' into kssenii-pg2ch 2021-01-15 17:33:19 +03:00
Azat Khuzhin
ed26ccf217 Do not run integrity check for cross compiled binaries
Follow-up for: #18811
Refs: #18785
2021-01-08 15:26:35 +03:00
Alexey Milovidov
159891573f Merge branch 'master' into kssenii-pg2ch 2021-01-07 18:39:44 +03:00
Alexey Milovidov
6f481d7512 Add integrity checks for ClickHouse binary 2021-01-07 05:56:57 +03:00
Alexey Milovidov
d99133118d Generate build id when ClickHouse is linked with lld 2021-01-07 04:03:53 +03:00
alexey-milovidov
72b142a00a
Merge branch 'master' into pg2ch 2021-01-06 23:18:59 +03:00
alexey-milovidov
17009ccb98
Update CMakeLists.txt 2021-01-01 18:52:02 +03:00
Amos Bird
829e82c27c
better linker name matcher 2021-01-01 14:39:00 +08:00
alexey-milovidov
195e43de39
Merge pull request #18537 from azat/heavy-builds-fix
Use RLIMIT_DATA/RLIMIT_AS over RLIMIT_RSS for ENABLE_CHECK_HEAVY_BUILDS
2020-12-31 03:24:12 +03:00
alexey-milovidov
3620c8b4d4
Update CMakeLists.txt 2020-12-30 17:49:11 +03:00
kssenii
2d8e35b4bd Add libpq and libpqxx 2020-12-27 12:02:41 +00:00
Azat Khuzhin
d2818278c5 Update ENABLE_CHECK_HEAVY_BUILDS limits for gcc and MSan 2020-12-26 17:26:50 +03:00
Azat Khuzhin
2c649a990b Increase memory limits for ENABLE_CHECK_HEAVY_BUILDS 2020-12-26 14:50:21 +03:00
Azat Khuzhin
7f65351380 Increase memory limits for ENABLE_CHECK_HEAVY_BUILDS 2020-12-26 12:26:42 +03:00
Azat Khuzhin
4bc039bae7 Use RLIMIT_DATA/RLIMIT_AS over RLIMIT_RSS for ENABLE_CHECK_HEAVY_BUILDS
RLIMIT_RSS does not work since 2.6.x+, from getrlimit(2):

       RLIMIT_RSS
              This  is  a  limit (in bytes) on the process's resident set (the number of virtual pages resident in RAM).  This limit has effect only in Linux 2.4.x, x < 30, and there af‐
              fects only calls to madvise(2) specifying MADV_WILLNEED.

Note that before this patch RSS was to 10MB but I doubt that it is
enough for C++ compiler, this patch uses 1G limit for DATA and 10G for
AS/VIRT (but it seems that even 1G may be too small).

And see also https://code.woboq.org/linux/linux/mm/mmap.c.html#may_expand_vm
2020-12-26 10:37:52 +03:00
alesapin
3c104035b1 Add NuRaft library 2020-12-24 23:10:47 +03:00
Azat Khuzhin
995c3da1c3 Disable memory tracking for gcc TSAN/ASAN
Since libtsan.a provides new/delete overrides too:

    ld.lld: error: duplicate symbol: operator new[](unsigned long, std::nothrow_t const&)
    >>> defined at new_delete.cpp:64 (../src/Common/new_delete.cpp:64)
    >>>            new_delete.cpp.o:(operator new[](unsigned long, std::nothrow_t const&)) in archive src/libclickhouse_new_delete.a
    >>> defined at tsan_new_delete.o:(.text+0xE0) in archive /usr/lib/gcc/x86_64-linux-gnu/10/libtsan.a

v2: Fix order of src vs programs for clickhouse_new_delete target detection
2020-12-16 21:31:03 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
8e035a7518 build: pass the c++ standard for compiling llvm
Yes clickhosue set gnu++2a globally, but this will not work, since
default -std=c++11 will be added later, look:

    clang++ -std=gnu++2a ... -std=c++11 -Wall -Wextra contrib/llvm/...
2020-12-11 01:32:38 +03:00
Nikita Mikhaylov
80d4af9a73
Merge pull request #17874 from nikitamikhaylov/calendar-date
Merging #17750
2020-12-10 00:19:04 +03:00
PHO
f4204b10ea Fix build with GCC 9.x
Use -std=gnu++2a regardless of whether UNBUNDLED or not, because __int128
is a non-standard builtin and GCC, unlike Clang, only considers it to be
an integral type when GNU extensions are enabled.
2020-12-07 16:00:32 +03:00
Maksim Kita
80d66b8868 FastFloat library integration 2020-12-06 23:37:35 +03:00
Ivan
315ff4f0d9
ANTLR4 Grammar for ClickHouse and new parser (#11298) 2020-12-04 05:15:44 +03:00
Denis Glazachev
0e6dd287e7 Fix CMake generation and build for native Xcode and AppleClang 2020-11-27 20:33:16 +04:00
vdimir
e2fac19686
Remove libbtrie 2020-11-21 21:31:15 +03:00
root
e9de5b6ad4 Add StorageEmbeddedRocksdb Engine 2020-11-11 09:08:52 +08:00
Danila Kutenin
3c6794bf37 Add Floyd-Rivest selection algorithm instead of std::partial_sort 2020-11-09 20:22:05 +03:00
Alexey Milovidov
885bd84720 Remove trash from CMakeLists 2020-10-28 20:48:02 +03:00
alexey-milovidov
1eb8bb19f0
Merge pull request #15608 from danlark1/clang-pass-manager
Use experimental pass manager by default in clang
2020-10-05 18:05:57 +03:00
alesapin
a644512fce Better comment 2020-10-05 12:58:23 +03:00
alesapin
8f41b87737 Better fix 2020-10-05 12:57:28 +03:00
alesapin
3fbbb6bef9 Fix flag 2020-10-05 12:39:03 +03:00
alesapin
5281288bf6 More strict check to add clickhouse_memcpy 2020-10-05 10:23:18 +03:00
Danila Kutenin
a3d27962a7 Add experimental pass manager by default in clang 2020-10-05 09:01:51 +03:00
alesapin
677a7e485f Don't add memcpy for sanitizers builds 2020-10-02 09:57:13 +03:00
Amos Bird
7c9bbe4c29 Neutrialize thinlto's memcpy libcall gen.
(cherry picked from commit 8ffa4d395c)
2020-10-01 22:22:32 +03:00
alesapin
409aaabc2f Revert "Add fno-builtin-memcpy"
This reverts commit 94ab1313e3.
2020-10-01 22:22:14 +03:00
alesapin
94ab1313e3 Add fno-builtin-memcpy 2020-10-01 10:39:27 +03:00
alesapin
38e50d1078 Revert "enable FastMemcpy properly"
This reverts commit 6e23901227.
2020-10-01 10:38:06 +03:00
Amos Bird
6e23901227 enable FastMemcpy properly 2020-09-30 18:52:49 +03:00
Alexey Milovidov
07b931a414 Prepare for LLVM-11 2020-09-28 04:21:40 +03:00
alesapin
269d225637 Merge branch 'master' into myrrc-feature-cmake-flags-doc-generator 2020-09-22 17:00:02 +03:00
Alexey Milovidov
5301de7656 Control heavy translation units 2020-09-20 23:43:28 +03:00
myrrc
07317644eb added explicit tests disabled status 2020-09-19 21:05:40 +03:00
myrrc
c78d9f9f38 moved the generators to docs/ folder 2020-09-19 19:42:36 +03:00
Alexey Milovidov
059646743b Remove OpenCL 2020-09-19 17:20:00 +03:00
myrrc
ac606dca77 updated cmake/ files, added some comments 2020-09-17 18:37:23 +03:00
myrrc
acff0feb58 slighly updated CMake files 2020-09-17 18:09:59 +03:00
myrrc
b3d236a535 few description fixes 2020-09-16 12:42:55 +03:00
myrrc
42b22c3424 fixed handling of conditional options 2020-09-16 00:35:06 +03:00
myrrc
dc94a754dd minor bugs fixed, slightly modified main cmake 2020-09-15 23:17:24 +03:00
myrrc
bd1a7c69ba rewrote code from bash to python 2020-09-15 22:32:42 +03:00
Konstantin Podshumok
e296997b6c
cmake: fix potential curl linking problems
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:44 +03:00
Konstantin Podshumok
5097793872
cmake: Fix odbc in unbudled
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:43 +03:00
Konstantin Podshumok
d989e59699
unbundled: link with termcap when using static llvm
ld.lld: error: undefined symbol: setupterm
referenced by Process.cpp.o:(llvm::sys::Process::FileDescriptorHasColors(int)) in archive /usr/lib/llvm-9/lib/libLLVMSupport.a

Squashed:
- fixup termcap + external llvm

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
d739c6a38f
Revert "Merge pull request #13689 from ClickHouse/remove-termcap"
This reverts commit da8d8f35dd, reversing
changes made to c3d0a87b8b.
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
cc6a59d59b
cmake: disable internal ORC when using external Parquet
Squashed:
- fix internal poco linking with `zlib`

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
e101db600c
cmake: set USE_INTERNAL_SPARSEHASH_LIBRARY=ON by default
as we don't know any distribution with sparsehash-c11 package

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:40 +03:00
Konstantin Podshumok
1913522233
cmake: always use internal poco library as it went too far from upstream
Squashed:
- cmake: move USE_INTERNAL_POCO_LIBRARY option to separate file
- point contrib/poco to "add <atomic> to TCPServerDispatcher"

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
2fc37bd694
cmake: enable FAIL_ON_UNSUPPORTED_OPTIONS_COMBINATION by default
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
ad23bf46b6
cmake: message when ThinLTO is enabled without clang
Squashed:
- ENABLE_THINLTO shouldn't be enabled by default when tests or sanitizers are enabled

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
d456aa86ef
Revert "Revert "cmake: Add option to fail configuration instead of auto-reconfiguration""
This reverts commit 89419ceb9b
(curl part moved to separate commit)

Squashed:
- termcap removed
- fix for cassandra on apple merged
- cmake: fix "Can't find system zlib library" in unbundled build
- cmake: fix condition when testing for rdkafka platform
- cmake: PROTOBUF_OLD_ABI_COMPAT shouldn't be enabled for internal protobuf

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:37 +03:00
alexey-milovidov
fb0e68f808
Merge pull request #12771 from arenadata/ADQM-109
krb5 + cyrus-sasl + kerberized kafka
2020-08-20 20:13:01 +03:00