Commit Graph

227 Commits

Author SHA1 Message Date
3810727688 [chore](thirdparty) Update bitshuffle from 0.3.5 to 0.5.1 (#15993)
In order to use AVX512 instructions. See #15972
2023-01-17 23:46:11 +08:00
9c723aec59 [fix](thirdparty) update bzip download info (#16012)
Check historical changes, no need for two sources for same bzip(as some others remove two source like boost etc.)
2023-01-17 21:08:05 +08:00
d75cf756c5 [fix](third-party) Pass search paths of dependencies to CLucene explicitly (#15959)
When building CLucene, CMake may find the wrong Boost and zlib. We should pass the search paths to the build command for CLucene explicitly to find the correct dependencies.
2023-01-16 17:12:40 +08:00
fd0c352144 [fix](thirdparty) patch sqltypes.h in odbc to avoid conflict with clucene macro TCHAR (#15926)
Fix conflit name TCHAR in odbc sqltypes.h and clucene clucene-config.h.
Change TCHAR to TWCHAR in odbc sqltypes.h, because TCHAR in odbc is not found used in doris,
but there are too many places to call clucene's TCHAR.

thirdparty/installed/include/sqltypes.h: 
`typedef char                            TCHAR;`

thirdparty/installed/include/CLucene/clucene-config.h: 
`typedef  wchar_t TCHAR;`
2023-01-15 10:10:00 +08:00
57098bf669 [fix](thirdparty) fix bug for build_thirdparty (#15910) 2023-01-14 21:02:59 +08:00
c88c6b3c41 [chore](build) Fix linkage errors on macOS (arm64) (#15922)
macOS with Apple Silicon chip doesn't support AVX2 instructions, we should build CLucene without AVX2 support.
2023-01-14 18:37:56 +08:00
be110ffaf6 [thirdparty](clucene) add clucene deps for doris inverted index (#15807)
As part of Inverted Index DSIP steps, we'd like to contribute our inverted index implementations step by step.
First of all we need to introduce clucene to doris thirdparty libs, because inverted index implementations are based on 
lucence API and index file format, also we add our features and performance improvements base on clucene, so we 
need to maintain the repo ourselves
2023-01-12 21:59:19 +08:00
870b5c44e6 [fix](compile) compile failed in Mac with clang14 (#15661)
HOW to reproduce?
Add export CMAKE_BUILD_TYPE=DEBUG in custom_env.sh. Then build thirdparty in MAC.

There are two problems:

build vectorscan with DEBUG type, will got unused-but-set-variable error:
doris/thirdparty/src/vectorscan-vectorscan-5.4.7/src/nfa/mcclellancompile.cpp:1485:13: error: variable 'total_daddy' set but not used [-Werror,-Wunused-but-set-variable]
u16 total_daddy = 0;
gflags will output libgflags_debug.a instead of libgflags.a while build with DEBUG type. Then we will got error can not find library gflags error.
To avoid these errors, we set CMAKE_BUILD_TYPE while build vectorscan and gflags.

Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
Co-authored-by: Adonis Ling <adonis0147@gmail.com>
2023-01-11 11:09:00 +08:00
5c2a38d2a1 [chore](thirdparty) Fix the md5sum of the package brpc-1.2.0.tar.gz (#15789)
Apache brpc has graduated from incubator recently. The MD5 of the package we download from https://github.com/apache/incubator-brpc/archive/refs/tags/1.2.0.tar.gz changed and the mismatch MD5 makes the build scripts fail.
2023-01-11 11:05:21 +08:00
5b10116eca [chore](thirdparty) fix bug that GSSAPI of libgsasl is disabled (#15753)
In #15037, I modified the build script of libgsasl to enable GSSAPI,
but it is still wrong, because the PATH does not include the `thirdparty/installed/bin`,
so when building libgsasl, it will report error:
`WARNING: MIT Kerberos krb5-config not found, disabling GSSAPI`

but `krb5-config` is in `thirdparty/installed/bin`.

Without GSSAPI, the libhdfs3 can not access hdfs with kerberos authentication.
2023-01-11 09:07:46 +08:00
f5b0f5e01a [chore](macOS) Don't build useless third-party stuff (#15763)
On macOS, we need some extra libraries to build the codebase,
therefore two packages were introduced to the project. They are `binutils` and `gettext`. 

It takes a lot of time to build these packages completely. This PR introduces a way to build the needed libraries
and other stuff are skipped to build. It can save the time to build the third-party libraries on macOS.
2023-01-11 00:20:37 +08:00
4be54cfcac [deps](hdfs) update libhdfs3 to v2.3.5 to support KMS (#15770)
Support KMS in libhdfs3: apache/doris-thirdparty#22
2023-01-10 23:21:53 +08:00
77ffafb766 [vulnerability](CVE-2022-1292) fix CVE-2022-1292 (#15639) 2023-01-05 21:57:16 +08:00
62f43c3314 [doc](thirdparty) update CHANGELOG, add libhdfs3 2.3.4 (#15539) 2023-01-01 11:03:05 +08:00
9246e03932 [Enhancement](hdfs) make libhdfs3 compatible with hdfs2 server (#15497)
When doris be getFileStatus from HDFS2 server, libhdfs3 will throw exception because of the permission code returned by hdfs2 server is greater than 1<<12.
The bit 12 of permission code is aclBit which has been deprecated in hadoop3. so we remove the check code in libhdfs3, same as hadoop3 java project.
2022-12-30 15:36:39 +08:00
43c8e7b465 [chore](thirdparty) Support cleaning extracted data before building them (#15458)
Currently, we may fail to build the third-party libraries if we keep the outdated extracted data.

Considering the following scenario, Bob added patches to some libraries and Alice updates the codebase and builds 
the third-party libraries. If Alice kept the outdated extracted data, she should fail to build the third-party libraries 
because the patches are not applied due to the outdated `patched_marks`.

This PR introduces a way to clean the outdated data before building the third-party libraries.
2022-12-29 16:01:23 +08:00
fe02b08e04 [Improvement](thirdparty)upgrade simdjson from 1.0.2 to 3.0.1 (#15412)
Upgrade simdjson from 1.0.2 to latest version 3.0.1 to avoid -mlzcnt compiler flag causing BE UT(macOS) failure.
simdjson is now only used by VJsonScanner and disabled by default. So the impact of upgrade is limited.
2022-12-28 12:24:16 +08:00
6151a43e9c [Thirdparty](Protobuf) update protobuf from 3.14.0 to 3.15.0 (#15055) 2022-12-24 20:45:11 +08:00
7d49ddf50c [bugfix](thirdparty) patch simdjson to avoid conflict with odbc macro BOOL (#15223)
fix conflit name BOOL in odbc sqltypes.h and simdjson element.h. Change BOOL to BOOLEAN in simdjson.

- thirdparty/installed/include/sqltypes.h

> #define	BOOL				int


- thirdparty/src/simdjson-1.0.2/include/simdjson/dom/element.h

> enum class element_type {
>   ARRAY = '[',     ///< dom::array
>   OBJECT = '{',    ///< dom::object
>   INT64 = 'l',     ///< int64_t
>   UINT64 = 'u',    ///< uint64_t: any integer that fits in uint64_t but *not* int64_t
>   DOUBLE = 'd',    ///< double: Any number with a "." or "e" that fits in double.
>   STRING = '"',    ///< std::string_view
>   BOOL = 't',      ///< bool
>   NULL_VALUE = 'n' ///< null
> };
>
2022-12-22 09:40:04 +08:00
Pxl
c816d9d6e5 [Chore](s2geo) disable ABSL_BTREE_ENABLE_GENERATIONS and use CMAKE_BUILD_TYPE to rep… (#15104)
disable ABSL_BTREE_ENABLE_GENERATIONS and use CMAKE_BUILD_TYPE to replace o3
2022-12-15 21:36:28 +08:00
Pxl
30406ef580 [Chore](s2geo) add with gflags on s2geo (#15059)
add with gflags on s2geo
2022-12-14 12:19:01 +08:00
7854e9ae5a [thirdparty](libgsasl) set include dir to enable to find gssapi.h (#15037)
If not set, it can't find gssapi.h, which is generated by krb5.
This will cause the libhdfs3 failed to visit hdfs with kerberos authentication
2022-12-14 12:07:13 +08:00
Pxl
decabbb933 [Chore](s2geo) upgrade s2geo to 0.10.0 (#15002)
upgrade s2geo to 0.10.0
2022-12-13 10:34:51 +08:00
Pxl
7c242fe03e [Chore](phmap) upgrade phmap to 1.3.8 (#14965)
upgrade phmap to 1.3.8
2022-12-12 11:44:41 +08:00
e40da670b5 [chore](macOS) Fix the compilation errors when building third party libraries (#14813) 2022-12-07 08:48:06 +08:00
e78086a501 [chore](macOS) Fix the build for thirdparty (#14462) 2022-11-22 20:49:15 +08:00
7624c80d83 [Feature](Kafka) Add kerberos support for kafka (#14431)
Compile librdkafka with Kerberos SASL GSSAPI support.
2022-11-21 20:45:50 +08:00
eb76160b48 [chore](third-party) Use GNU official mirror to boost the download speed (#14358)
According to the description in https://www.gnu.org/server/mirror.html, using the address http://ftpmirror.gnu.org/ to download GNU packages is recommended. It can boost the download speed worldwide.
2022-11-19 00:04:52 +08:00
015f8ab78d [enhancement](thirdparty) support create stripe reader by column names (#14184)
ORC NextStripeReader now only support read columns by indices, but it is hard to get column indices for complex types.
We patch ORC adapter to support read columns by column names.
Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
2022-11-11 15:10:20 +08:00
63ea233ae2 [thirdpart](lib) Add lock free queue of concurrentqueue (#14045) 2022-11-08 11:34:23 +08:00
a19e6881c7 [chore](be web ui)upgrade jquery version to 3.6.0 (#13942)
* upgrade jquery version to 3.6.0

* update license dist
2022-11-04 16:20:17 +08:00
bad950136d [chore](build) Pass the compile flag -Wno-unused-but-set-variable on demand (#13716)
There are some issues with the compile flag `-Wno-unused-but-set-variable` for clang.
1. `-Wno-unused-but-set-variable` should be set when building source by clang-15 on Linux. (#13000 #13016)
2. On macOS Monterey, Apple Clang 13 may treat it as a unknown warning option and the compilation process may interrupt.

This PR introduces a better way to make this compile flag more portable.
1. Test whether the compiler recognizes this flag.
2. Add this flag if the compiler recognizes it.
2022-10-27 15:18:28 +08:00
4db18c139c [fix](thirdparty) g++-11: error: unrecognized command-line option '-m… (#13607)
When compiling third-party hdfs on aarch64 machine,
got error: g++-11: error: unrecognized command-line option '-msse4.2'
2022-10-25 21:35:31 +08:00
d624ff0580 [chore](macOS) Avoid using binutils from Homebrew to build third parties (#13512)
Overwrite the environment variable PATH to avoid using binutils from Homebrew to build third parties which may cause compilation errors.

Error: building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format
2022-10-21 01:28:30 +08:00
410e36ef5b [enhancement](macOS) Refine the build scripts for macOS (#13473)
Set the environment up before running the build scripts on macOS.
2022-10-19 22:52:22 +08:00
125def5102 [enhancement](macOS M1) Support building from source on macOS (M1) (#13195)
# Proposed changes

This PR fixed lots of issues when building from source on macOS with Apple M1 chip.

## ATTENTION

The job for supporting macOS with Apple M1 chip is too big and there are lots of unresolved issues during runtime:
1. Some errors with memory tracker occur when BE (RELEASE) starts.
2. Some UT cases fail.
...

Temporarily, the following changes are made on macOS to start BE successfully.
1. Disable memory tracker.
2. Use tcmalloc instead of jemalloc.

This PR kicks off the job. Guys who are interested in this job can continue to fix these runtime issues.

## Use case

```shell
./build.sh -j 8 --be --clean

cd output/be/bin
ulimit -n 60000
./start_be.sh --daemon
```

## Something else

It takes around _**10+**_ minutes to build BE (with prebuilt third-parties) on macOS with M1 chip. We will improve the  development experience on macOS greatly when we finish the adaptation job.
2022-10-18 13:10:13 +08:00
c1588b2900 [thirdparty](zstd)update dist info and thirdparty change log (#13392) 2022-10-17 09:09:16 +08:00
52397df9f0 [thirdparty](update) zstd 1.5.0 to 1.5.2 #13378 2022-10-15 10:50:20 +08:00
9350c0be80 [Bug](aarch64) Fix the BRPC "sched_to itself" error when building BE by Clang on Linux aarch64 (#13270) 2022-10-11 15:38:28 +08:00
2dafbda9de [chore](third-party) Fix compilation errors reported by clang-15 (#13016)
Add some compile flags to eliminate compilation errors reported by clang-15.
2022-09-27 23:46:43 +08:00
429ac929fb [chore](build) Support building from source on ubuntu-22.04 (aarch64) (#12813)
Support building from source on ubuntu-22.04
2022-09-27 10:29:13 +08:00
11e0151445 [chore](build) add an option to disable strip thridparty libs (#12772) 2022-09-21 09:11:25 +08:00
b550985df6 fix thirdparty builder (#12768) 2022-09-20 19:41:00 +08:00
cb06e67fba [fix](tracing) Fix opentelemetry log output to be.out (#11856) 2022-09-18 17:40:23 +08:00
353bb6fdfb [doc] update docs (#12615) 2022-09-15 11:07:34 +08:00
47d43b34b3 [enhancement](thirdparty) Compile Jemalloc separately on thirdparty (#12577)
Compile Jemalloc separately and optimize the configuration
2022-09-14 23:31:48 +08:00
a219a41dde [dependency](xxhash) Add xxhash lib (#12566)
Add xxhash lib for BE, which is the faster hash method by test.
2022-09-14 12:30:09 +08:00
08c5e0b1e3 [chore](deps) strip debug info of thirdparty dependencies (#12284)
Strip debug info of most of thridparty dependencies' static lib.
If can significantly reduce the size of thirdparty libs: 3.4G -> 1.6G
And the doris_be binary size will be reduced: 1.5G -> 868M (clang build)
And after compress, the BE binary is only 195M with debug info!
2022-09-02 15:43:29 +08:00
f3f17eb222 [Bugfix](load) fix be will coredump when parsing malformed json file using simdjson (#12062)
* [Bugfix](load) fix be will coredump when parsing malformed json file using simdjson
2022-08-26 18:01:19 +08:00
0728f08c65 [improvement](dependency) Use release mode to build cctz. Improve performance. 2022-08-19 17:56:52 +08:00