Commit Graph

977 Commits

Author SHA1 Message Date
Yakov Olkhovskiy
b766552481 add native build for cross-compilation 2022-07-20 23:09:05 -04:00
Azat Khuzhin
0e95dba3ef Fix make clean (due to crosscompile of llvm)
Without ADDITIONAL_CLEAN_FILES it reports an error:

    Cleaning... ninja: error: remove(contrib/llvm/llvm/NATIVE): Directory not empty
    ninja: error: remove(/bld/contrib/llvm/llvm/NATIVE): Directory not empty
    0 files.

Note, that ADDITIONAL_CLEAN_FILES had been added since cmake 3.15.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-20 17:34:10 +03:00
Azat Khuzhin
21fa5e6ece Add check for CLICKHOUSE_SPLIT_BINARY=1 with USE_STATIC_LIBRARIES=1
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-18 11:42:49 +03:00
Azat Khuzhin
30018ce5d3 Fix running cmake with predefined cache (for development only)
Right now cmake add the following options only if USE_STATIC_LIBRARIES
is OFF:
- SPLIT_SHARED_LIBRARIES
- CLICKHOUSE_SPLIT_BINARY

And this breaks the following usage:

    $ cmake ..
    $ cat > debug-build-cache.cmake
    set(USE_STATIC_LIBRARIES              OFF CACHE BOOL "")
    set(SPLIT_SHARED_LIBRARIES            ON  CACHE BOOL "")
    set(CLICKHOUSE_SPLIT_BINARY           ON  CACHE BOOL "")
    ^D
    $ cmake -C debug-build-cache.cmake ..
    CMake Error at CMakeLists.txt:83 (message):
      Defining SPLIT_SHARED_LIBRARIES=1 without USE_STATIC_LIBRARIES=0 has no
      effect.

Since with this initial cache we have the following:

- USE_STATIC_LIBRARIES=OFF (because it was already set)
- SPLIT_SHARED_LIBRARIES=ON (was not set before, so new value)
- CLICKHOUSE_SPLIT_BINARY (was not set before, also new value)

Yes this is not the common usage, but it seems that it is pretty easy to
avoid.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-17 12:18:24 +03:00
Alexey Milovidov
d8b1b44a29
Merge branch 'master' into align-branch-within-32b 2022-07-13 16:53:34 +03:00
Robert Schulze
1a7727a254
Prefix overridden add_executable() command with "clickhouse_"
A simple HelloWorld program with zero includes except iostream triggers
a build of ca. 2000 source files. The reason is that ClickHouse's
top-level CMakeLists.txt overrides "add_executable()" to link all
binaries against "clickhouse_new_delete". This links against
"clickhouse_common_io", which in turn has lots of 3rd party library
dependencies ... Without linking "clickhouse_new_delete", the number of
compiled files for "HelloWorld" goes down to ca. 70.

As an example, the self-extracting-executable needs none of its current
dependencies but other programs may also benefit.

In order to restore access to the original "add_executable()", the
overriding version is now prefixed. There is precedence for a
"clickhouse_" prefix (as opposed to "ch_"), for example
"clickhouse_split_debug_symbols". In general prefixing makes sense also
because overriding CMake commands relies on undocumented behavior and is
considered not-so-great practice (*).

(*) https://crascit.com/2018/09/14/do-not-redefine-cmake-commands/
2022-07-11 19:36:18 +02:00
Azat Khuzhin
e8f5cd3c68 Add separate option to omit symbols from heavy contrib
Sometimes it is useful to build contrib with debug symbols for further
debugging.

With everything turned ON (i.e. debug build) I got 3.3GB vs 3.0GB w/o
this patch, 9% bloat, thoughts about this is this OK or not for you, if
not STRIP_DEBUG_SYMBOLS_HEAVY_CONTRIB can be OFF by default (regardless
of build type).

P.S. aws debug symbols adds just 1.7%.
v2: rename STRIP_HEAVY_DEBUG_SYMBOLS
v3: OMIT_HEAVY_DEBUG_SYMBOLS
v4: documentation had been removed
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-02 06:32:03 +03:00
Robert Schulze
bb358617e1
Better naming for stuff related to splitted debug symbols
The previous name was slightly misleading, e.g. it is not about
"intalling stripped binaries" but about splitting debug symbols from the
binary.
2022-06-30 23:41:27 +02:00
BoloniniD
6ddcec0906
Merge branch 'master' into BLAKE3 2022-06-28 16:53:06 +03:00
Robert Schulze
bc46cef63c
Minor follow-up
- change ELF section name to ".clickhouse.hash" (lowercase seems
  standard)

- more expressive/concise integrity check messages at startup
2022-06-14 08:52:13 +00:00
Robert Schulze
e25fbb9292
Log official/non-official build and integrated/separate debug symbols
The goal is to find out why some of the binaries with official name
(BuilderDebRelease, BuilderBinRelease) produced by CI still contain no
hash section.

(also, strip and objcopy are mandatory tools and we don't need to check
for their existence at this point)
2022-06-13 12:34:09 +00:00
BoloniniD
b05ee41d25 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-06-06 16:03:10 +03:00
Wangyang Guo
ea5e37abef Align branches within a 32B boundary for AMD64 arch to make benchmark more stable 2022-06-06 17:22:21 +08:00
Robert Schulze
5a1b873f7b
No need to checkout submodules/contribs recursively
Also verified locally by building from a freshly cloned ClickHouse and
"flat" checkout of submodules without recursion
2022-06-01 13:54:53 +02:00
BoloniniD
dd8aefdf1e Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-06-01 11:46:55 +03:00
Azat Khuzhin
282f037659 Set compiler flags for ASM same as for C/CXX
This should fix DWARF version for ASM sources (from #34754):

    $ llvm-dwarfdump -r 1 clickhouse | grep Compile -A10 | grep -A10 'version = 0x0005'
    ...
    --
    0x1de11022: Compile Unit: length = 0x000000e7, format = DWARF32, version = 0x0005, unit_type = DW_UT_compile, abbr_offset = 0x551dc0, addr_size = 0x08 (next unit at 0x1de1110d)

    0x1de1102e: DW_TAG_compile_unit
                  DW_AT_stmt_list   (0x057e3442)
                  DW_AT_low_pc      (0x00000000101cde0c)
                  DW_AT_high_pc     (0x00000000101cde5e)
                  DW_AT_name        ("/ClickHouse/contrib/libunwind/src/UnwindRegistersSave.S")
                  DW_AT_comp_dir    ("/fasttest-workspace/build")
                  DW_AT_producer    ("Ubuntu clang version 14.0.1-++20220426083040+0e27d08cdeb3-1~exp1~20220426083051.129")
                  DW_AT_language    (DW_LANG_Mips_Assembler)
    ...

Follow-up for: #34777 (cc @alexey-milovidov)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-24 15:18:35 +03:00
Robert Schulze
95d28973aa
Cosmetics 2022-05-15 16:07:10 +02:00
Robert Schulze
1ff7d245ed
Add LINKER: prefix to link options
CMake will translate this to a compiler-specific flag to pass the flags
to the linker, e.g. for Clang: "-Xlinker", for GCC: "-Wl,". It worked so
far because Clang supports -Wl in the meantime too but we should prefer
the portable method.
2022-05-15 09:48:54 +02:00
Robert Schulze
7282b74403
Remove obsolete policies
As far as I see these were necessary for super old Cmake versions and
when contrib libraries (snappy, re2, google test) were still unbundled.
2022-05-15 09:48:54 +02:00
Robert Schulze
6a4e1e3fbd
Remove wrong CMAKE_MODULE_PATH
The module path makes CMake find scripts in directories without
directory qualification, e.g.
    include (tools)
instead of
    include (cmake/tools.cmake)
The latter is a little bit longer but less ambiguous (imho). Therefore,
removing CMAKE_MODULE_PATH. Note that it pointed to a non-existing
directory anyways ...
2022-05-15 09:48:54 +02:00
Robert Schulze
a07674be4d
Move WERROR option closer to its usage 2022-05-15 09:48:03 +02:00
Robert Schulze
9b07f5d2d5
Remove unused/undocumented PLATFORM_EXTRA_CXX_FLAG variable 2022-05-15 09:48:03 +02:00
Robert Schulze
3eb964a9f5
Simplify: Move warnings stuff into cmake/warnings.cmake 2022-05-15 09:48:03 +02:00
Robert Schulze
fc08b914ca
Minor: Move languages into PROJECT statement 2022-05-15 09:48:03 +02:00
Robert Schulze
1c127bbe09
Make color output a CMake option and fix setting for makefile generator
- Variable CMAKE_BUILD_COLOR_MAKEFILE has no effect (perhaps it had in
  ancient CMake), the actual variable is called CMAKE_COLOR_MAKEFILE
2022-05-15 09:48:02 +02:00
Robert Schulze
eb9f11da3d
Replace variable ARCH_ARM by ARCH_AARCH64
Both are equivalent and removing the duplication was a leftover of PR #36614
2022-05-15 09:48:02 +02:00
Robert Schulze
718a173ce9
Merge remote-tracking branch 'origin/master' into clang-tidy-cleanup
Conflicts:
- cmake/clang_tidy.cmake
2022-04-26 09:42:47 +02:00
Robert Schulze
15e75e79e4
analysis.cmake --> clang_tidy.cmake 2022-04-26 09:41:56 +02:00
Robert Schulze
730ce1806c
Simplify using RECONFIGURE_MESSAGE_LEVEL
The behavior stays the same, but we are using the same logic that is
used elsewhere too.
2022-04-25 12:56:57 +02:00
Robert Schulze
2b3340861b
Remove support for ancient CMake
The first line in CMakeLists.txt says the minimum CMake version is
3.14. Therefore removing special code for earlier CMake versions.
2022-04-25 12:48:24 +02:00
alesapin
00f683fcf9
Update CMakeLists.txt
Co-authored-by: Mikhail f. Shiryaev <felixoid@clickhouse.com>
2022-04-22 11:30:09 +02:00
BoloniniD
a353210e94 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-04-21 18:44:42 +03:00
alesapin
ba81816dc1 Better cmake 2022-04-20 12:11:55 +02:00
Alexey Milovidov
fec7a74f68 Add an option for build profiling 2022-04-19 17:44:27 +02:00
Alexey Milovidov
fa46e0d22f Add an option for build profiling 2022-04-16 02:54:21 +02:00
BoloniniD
30712ead45
Merge branch 'master' into BLAKE3 2022-04-13 00:45:44 +03:00
BoloniniD
c03b3c0aa4 Turn off BLAKE3 for aarch64 darwin 2022-04-13 00:26:36 +03:00
Alexey Milovidov
4691a428cb
Merge pull request #35130 from DevTeamBK/curl_upgrade
curl package upgraded to 7.81.0
2022-04-08 16:37:28 +03:00
Meena Renganathan
0d0b1ef7dc Fix to restrict the curl, azure and sentry build in MacOS 2022-04-06 06:28:35 -07:00
Denis Glazachev
e2044b6504 Set ENABLE_BUILD_PATH_MAPPING to OFF by default, if CMAKE_BUILD_TYPE is set to Debug 2022-04-06 16:17:22 +04:00
alesapin
10db099d2f One more try to resurrect build hash 2022-03-30 23:27:46 +02:00
BoloniniD
2d2420c8a9 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-03-29 11:00:50 +03:00
alesapin
b838a7dcb0 Remove outdated links from CI 2022-03-28 15:53:22 +02:00
Mikhail f. Shiryaev
572b15a63c
Fix paths and some cmake typos 2022-03-24 23:11:19 +01:00
Mikhail f. Shiryaev
fa2a9bb9aa
Separate BUILD_STRIPPED_BINARIES_PREFIX to option and parameter 2022-03-22 11:10:02 +01:00
BoloniniD
253afd032f Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-03-13 21:18:46 +03:00
alesapin
96c0e9fddf Better cmake 2022-03-11 15:47:07 +01:00
Mikhail f. Shiryaev
91f1857211
Merge pull request #35196 from ClickHouse/add_strip_cmake_cmd
Add ability to strip binaries in cmake
2022-03-11 12:37:06 +01:00
alesapin
e53578910b Add ability to strip binaries in cmake 2022-03-10 22:23:28 +01:00
小路
15e4978a3f
Fix 'Breakpoint not hit .. ' in CLion (#35179) 2022-03-10 20:35:04 +01:00
BoloniniD
8474babe88 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-03-02 18:27:53 +03:00
Maksim Kita
a3e6552fa5
Merge pull request #34753 from ClickHouse/check-submodules
Submodules are mandatory
2022-02-21 13:16:35 +01:00
Alexey Milovidov
b1b8a84c11 Generate DWARF version 4 max 2022-02-20 21:47:27 +01:00
Alexey Milovidov
e1a2e376a3 Submodules are mandatory 2022-02-19 17:44:24 +01:00
BoloniniD
c8bb6fb38a Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-02-13 12:47:18 +03:00
alexey-milovidov
e194bf3377
Merge pull request #34317 from ucasfl/lowcard
use LowCardinality for _file and _path virtual columns in StorageFile
2022-02-04 21:39:44 +03:00
feng lv
7bf2243431 use LowCardinality for _file and _path virtual columns in StorageFile
fix
2022-02-04 14:15:56 +00:00
BoloniniD
23e29e22a0 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-02-03 19:32:14 +03:00
Azat Khuzhin
b90cf4e7ff Move cmake/find/ccache.cmake -> cmake/ccache.cmake
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-31 16:01:19 +03:00
BoloniniD
b04ed43ebd Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-01-30 22:58:04 +03:00
Maksim Kita
b618febdec
Merge pull request #33970 from amosbird/fixwerror
Fix missing -Werror flag
2022-01-28 16:53:09 +01:00
alexey-milovidov
4060290eb6
Merge pull request #33925 from benbiti/USE_DEBUG_HELPERS-OFF
when not DEBUG set USE_DEBUG_HELPERS OFF
2022-01-27 22:59:55 +03:00
Amos Bird
6adb3aa49a
Fix missing -Werror 2022-01-28 02:07:43 +08:00
BoloniniD
6f078c164d Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-01-26 20:11:27 +03:00
Maksim Kita
c1db61b4ed
Merge pull request #33946 from azat/build-cleanup
Remove MAKE_STATIC_LIBRARIES (in favor of USE_STATIC_LIBRARIES)
2022-01-24 23:42:04 +01:00
Azat Khuzhin
4a0facd341 Remove MAKE_STATIC_LIBRARIES (in favor of USE_STATIC_LIBRARIES)
There is no more MAKE_*, so remove this alias.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-24 17:28:33 +03:00
Azat Khuzhin
37dbff7587 Revert glibc compatibility (via .symver) in favor of hermetic build (bundled libc)
This patch reverts glibc compatibility (via .symver) #29594,
in favor of hermetic build (that provides bundled libc version) #30011

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-24 16:03:56 +03:00
benbiti
a215600c6c set it do noting 2022-01-24 14:41:34 +08:00
Ben
35bacb1159 when not DEBUG set USE_DEBUG_HELPERS OFF
when not DEBUG set USE_DEBUG_HELPERS OFF
2022-01-24 14:29:07 +08:00
Azat Khuzhin
1a2f7b4281 cmake/print_include_directories.cmake: remove (no copy_headers.sh anymore)
Introduced in eb552f2943, copy_headers.sh
was relied on it.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-21 10:11:23 +03:00
Azat Khuzhin
6dcb09f9e1 Cleanup llvm 2022-01-20 10:02:01 +03:00
Azat Khuzhin
323fe70fcd Cleanup NLP support 2022-01-20 10:02:01 +03:00
Azat Khuzhin
a75b748fee Remove unbundled mysql support 2022-01-20 10:02:01 +03:00
Azat Khuzhin
cad885ab1c Remove unbundled aws-s3 support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
6a721baa59 Remove unbundled datasketches support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
3147bbab51 Cleanup sentry support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
4f4ec8912b Remove unbundled curl support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
e8c2052367 Remove unbundled cyrus-sasl support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
f2b1f65ce1 Remove unbundled libxml2 support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
614f86edbb Remove unbundled gsasl support 2022-01-20 10:02:00 +03:00
Azat Khuzhin
bc2dbe10d6 Remove unbundled krb5 support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
748a75644c Cleanup filelog 2022-01-20 10:01:59 +03:00
Azat Khuzhin
7420bd9b18 Move pdqsort 2022-01-20 10:01:59 +03:00
Azat Khuzhin
2bd688402a Move miniselect 2022-01-20 10:01:59 +03:00
Azat Khuzhin
a773e7ff01 Remove unbundled libpqxx support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
592bc1e97d Remove unbundled yaml-cpp support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
dea90967cf Remove unbundled fastfloat support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
3889f79a3d Remove unbundled h3 support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
cbf8867f50 Remove unbundled fastops support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
b51bbde713 Remove unbundled odbc support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
887af0a7e9 Remove unbundled nanodbc support 2022-01-20 10:01:59 +03:00
Azat Khuzhin
91e3ceeea9 Remove unbundled capnp support 2022-01-20 10:01:58 +03:00
Azat Khuzhin
cb1abf5307 Remove unbundled sqlite support 2022-01-20 10:01:58 +03:00
Azat Khuzhin
126aa4b65c Remove unbundled base64 support 2022-01-20 10:01:58 +03:00
Azat Khuzhin
a30ef87d65 Remove unbundled msgpack support 2022-01-20 10:01:58 +03:00
Azat Khuzhin
7496ed7fde Remove unbundled gtest support
v2: Fix unit tests (do not rely on USE_GTEST)
2022-01-20 10:01:54 +03:00
Azat Khuzhin
16adb8c4d6 Remove unbundled cassandra support 2022-01-20 10:01:13 +03:00
Azat Khuzhin
3b54dfa9ad Remove unbundled amqpcpp support 2022-01-20 10:01:13 +03:00
Azat Khuzhin
e9ec9175df Remove unbundled libuv support
v2: fix compatiblity check
2022-01-20 10:01:13 +03:00
Azat Khuzhin
4e5f93652d Remove unbundled poco support 2022-01-20 10:01:13 +03:00
Azat Khuzhin
dae6cd35c7 Remove unbundled azure blob storage support 2022-01-20 10:01:12 +03:00
Azat Khuzhin
133e00a43d Remove unbundled rapidjson support 2022-01-20 10:01:12 +03:00
Azat Khuzhin
db468b6fae Remove unbundled simdjson support 2022-01-20 10:01:12 +03:00
Azat Khuzhin
4524a19391 Remove unbundled ICU support 2022-01-20 10:01:12 +03:00
Azat Khuzhin
e243957763 Remove cmake/contrib_finder.cmake 2022-01-20 10:01:12 +03:00
Azat Khuzhin
48b5c098dd Remove unbundled farmhash support 2022-01-20 10:01:12 +03:00
Azat Khuzhin
f1cc63d900 Remove unbundled cityhash support 2022-01-20 10:01:12 +03:00
Azat Khuzhin
8ede97925e Remove unbundled sparsehash support 2022-01-20 10:01:11 +03:00
Azat Khuzhin
041b4f3635 Remove unbundled brotli support 2022-01-20 10:01:11 +03:00
Azat Khuzhin
789dfd9f3b Remove unbundled re2 support
v2: preserve re2_st name to make PVS check pass (since docker image
update fails)
2022-01-20 10:00:49 +03:00
Azat Khuzhin
5c32f6dd3e Remove unbundled nuraft support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
96efe17844 Remove unbundled xz support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
7c3a3cebb5 Remove unbundled double-conversion support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
6c0fa21025 Remove unbundled libprotobuf-mutator support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
aef6668cb4 Remove unbundled hdfs3 support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
788cb6b2b0 Remove unbundled protobuf support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
6acb4d6ac5 Remove unbundled gRPC support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
e341dadb4c Remove unbundled openldap support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
94ba901fbd Remove unbundled s2geometry support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
cf30669cc9 Remove unbundled openssl/boringssl (crypo/ssl) support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
61b781971c Remove unbundled librdkafka/cppkafka support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
313716be94 Remove unbundled thrift support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
4bd49138b4 Remove unbundled hive support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
ab8cdb198f Remove unbundled orc support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
d1b2bd5fbe Remove unbundled avro support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
b4ad324a88 Remove unbundled parquet/arrow support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
a752e12df9 Remove unbundled bzip2 support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
6fadf4c66f Remove unbundled rocksdb support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
ca8525a733 Remove unbundled zlib support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
5dee76cda7 Remove unbundled zstd support 2022-01-20 08:47:16 +03:00
alexey-milovidov
d222cb9771
Merge pull request #33695 from amosbird/buildimprove
Some build improvement
2022-01-19 03:19:22 +03:00
Amos Bird
6d62060e16
Build improvement 2022-01-17 22:36:27 +08:00
Amos Bird
011646491d
Properly separate thrift-cmake from arrow-cmake. 2022-01-15 13:50:58 +08:00
BoloniniD
728776997d Fix CMake for BLAKE3 build 2022-01-10 23:12:33 +03:00
BoloniniD
fc5cd6dd83 Start BLAKE3 integration 2022-01-10 23:12:32 +03:00
taiyang-li
9036b18c2f merge master 2021-12-27 15:12:48 +08:00
Azat Khuzhin
6651bc7dc8 Fix shared hermetic builds on Arch linux
On Arch linux clang uses PIE by default, and so it requires Scrt1.o:

    $ /usr/bin/clang++ --target=x86_64-linux-gnu --sysroot=/src/ch/clickhouse/cmake/linux/../../contrib/sysroot/linux-x86_64/x86_64-linux-gnu/libc --gcc-toolchain=/src/ch/clickhouse/cmake/linux/../../contrib/sysroot/linux-x86_64 --gcc-toolchain=/src/ch/clickhouse/cmake/linux/../../contrib/sysroot/linux-x86_64 -std=c++20 ... -o base/base/tests/dump_variable ...
    clang version 13.0.0
    Target: x86_64-unknown-linux-gnu
    Thread model: posix
    InstalledDir: /usr/bin
    Found candidate GCC installation: /src/ch/clickhouse/cmake/linux/../../contrib/sysroot/linux-x86_64/lib/gcc/x86_64-linux-gnu/9
    Selected GCC installation: /src/ch/clickhouse/cmake/linux/../../contrib/sysroot/linux-x86_64/lib/gcc/x86_64-linux-gnu/9
    Candidate multilib: .;@m64
    Selected multilib: .;@m64
     "/usr/bin/ld.lld" --sysroot=/src/ch/clickhouse/cmake/linux/../../contrib/sysroot/linux-x86_64/x86_64-linux-gnu/libc -pie -export-dynamic --eh-frame-hdr -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o base/base/tests/dump_variable Scrt1.o ...
             ^^^^^^^
2021-12-24 23:43:12 +03:00
Alexey Milovidov
7897d93b25 Increase stack size on Musl 2021-12-24 12:25:27 +03:00
taiyang-li
8234d1176f merge master 2021-12-14 10:39:21 +08:00
Raúl Marín
27cda5dc61 Pass -no-pie to the linker call to disable it 2021-12-13 20:12:11 +01:00
李扬
8675086104
Merge branch 'master' into hive_table 2021-12-12 09:01:46 -06:00
Jakub Kuklis
162e2b334b Initial working example of Azure Blob Storage manipulation from within ClickHouse 2021-12-10 22:04:36 +01:00
Nikita Mikhaylov
80a146816c More comments and style 2021-12-06 21:34:52 +00:00
taiyang-li
2f4e7e1d4e merge master 2021-12-02 19:48:21 +08:00
alexey-milovidov
a7de366741
Merge pull request #31957 from traceon/macos-fixes
Give some love to macOS platform
2021-11-30 04:15:32 +03:00
alexey-milovidov
336322b988
Merge pull request #31923 from ClickHouse/remove-some-trash-from-build
Remove some trash from build
2021-11-28 10:02:26 +03:00
alexey-milovidov
93ed4948b4
Merge pull request #31922 from azat/fix-debug-helpers
Fix magic_enum for debug helpers (fixes build w/ USE_DEBUG_HELPERS)
2021-11-28 08:05:55 +03:00
Alexey Milovidov
1ded1e7181 Remove some trash from build 2021-11-28 08:05:24 +03:00
Azat Khuzhin
f443dbf6e0 Enable debug helpers by default in debug builds 2021-11-28 06:54:37 +03:00
Alexey Milovidov
a96e4fe393 More reproducible builds 2021-11-27 02:24:09 +03:00
Alexey Milovidov
06c760409b Addition 2021-11-26 05:26:00 +03:00
Alexey Milovidov
b80f849b93 Reproducible builds 2021-11-26 04:55:17 +03:00
Denis Glazachev
e41ed7cc6e Fix GCC compilation in macOS 2021-11-26 02:03:04 +03:00
taiyang-li
89dcef69d5 merge master 2021-11-24 14:38:04 +08:00
mergify[bot]
8611b33947
Merge branch 'master' into enable-clang-vtables-optimization 2021-11-23 10:34:23 +00:00
taiyang-li
75bd6c6085 fix build 2021-11-22 12:29:40 +08:00
Alexey Milovidov
c5fcef03c3 Remove trash 2021-11-21 18:12:05 +03:00
Alexey Milovidov
d604cf5573 Remove the infamous "unbundled" build 2021-11-21 13:58:26 +03:00
taiyang-li
e8644807fe merge master and solve conflict 2021-11-19 15:01:58 +08:00
taiyang-li
cf47449e16 fix build errror 2021-11-08 18:21:49 +08:00
taiyang-li
9e20775968 add comment 2021-11-08 15:37:48 +08:00
zhanghuajie
860ea068f5 support compile in arm machine whith parameter "-DENABLE_TESTS=OFF" 2021-11-02 23:16:26 +08:00
Nikita Mikhaylov
aae30a9e37
Fix fuzzer build (#30344) 2021-10-26 20:30:34 +03:00
feng lv
1e3df5780c Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-18 07:33:11 +00:00
alexey-milovidov
e9af03ef52
Merge pull request #30248 from ClickHouse/musl-4
Preparation to build with Musl
2021-10-16 18:44:35 +03:00
Alexey Milovidov
4848a6f97f Add CMakeLists 2021-10-16 02:07:13 +03:00
Nikita Mikhaylov
e9bf496d42 Added an ability to generate data in build time 2021-10-15 14:35:50 +00:00
Nikita Mikhaylov
57a623aba0
Merge branch 'master' into codegen_select_fuzzer_v1 2021-10-13 16:01:40 +03:00
feng lv
868dbc4bad use poll replace select
fix

fix
2021-10-13 09:13:35 +00:00
Pavel Cheremushkin
7b9358a597 adding codegen fuzzer + code generation script. new contrib added: libprotobuf-mutator 2021-10-12 03:21:31 +03:00
feng lv
a57e97d2e0 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-11 06:09:43 +00:00
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