Commit Graph

43 Commits

Author SHA1 Message Date
618f12115f [fix](chore) fix env.sh build on macOS (#23676) 2023-08-31 10:32:59 +08:00
2a31a1e29b [Improvement](test) compute be full coverage (#23618) 2023-08-30 10:21:32 +08:00
16df7a7ec0 [chore](macOS) Fix SSL errors while building documents (#23127)
Issue Number: #23126

Add NODE_OPTIONS to fix this issue.
2023-08-18 10:57:05 +08:00
d4a1549003 [minor](broker) fix name in broker's pom.xml (#20840)
change palo -> doris
do not check compiler's version inenv.sh, because building broker does not need gcc compiler. And the version is also checked in CMakefile
2023-07-03 16:46:47 +08:00
a52fc3eb33 [chore](workflow) Improve the cache hit ratio in BE UT (Clang) (#20871)
In workflow BE UT (Clang), we set up the ldb_toolchain before we build the UT. During generating the toolchain tools, the script modifies the RPATH and dynamic linker of the executables which making the mtime of compilers change in every build.

By default, Ccache computes the hash of the compilers' mtime and size to check the compilers whether they are consistent with the ones which were used to generate the caches. If the compilers change, the caches can not be hit. We should change the default behavior of Ccache by setting the configuration `compiler_check (CCACHE_COMPILERCHECK)` to increase the cache hit ratio in the workflow.

Reference: https://ccache.dev/manual/latest.html#_configuration_options
2023-06-16 11:18:21 +08:00
Pxl
ab6c1f152c [Chore](build) adjust build script about pch setting (#20637)
try to make be-ut workflow stable
2023-06-09 22:27:13 +08:00
13c80bdb10 [chore](toolchain) change doris default toolchain to clang (#20146)
GCC is very slow during build and link. Change to clang as we discussed many times.


Co-authored-by: yiguolei <yiguolei@gmail.com>
2023-05-28 21:05:23 +08:00
fe553f7dfc [chore](third-party) Support specifying packages to build (#19688)
Usage: ./build-thirdparty.sh [options...] [packages...]
  Optional options:
     -j <num>               build thirdparty parallel
     --clean                clean the extracted data
     --continue <package>   continue to build the remaining packages (starts from the specified package)

Examples:
1. Specify packages to build.
    Build gflags, gtest and glog by executing ./build-thirdparty.sh gflags gtest glog.
2. Continue to build the remaining packages.
    Build the remaining packages (starts from sse2neon) by executing ./build-thirdparty.sh --continue sse2neon.
2023-05-16 19:24:19 +08:00
22f95fca97 set ccache configs in env.h (#19502) 2023-05-11 06:54:54 +08:00
Pxl
9b7a419aed [Chore](build) update some doc about build enviroment (#19325)
update some doc about build enviroment
2023-05-10 16:18:44 +08:00
e08de52ee7 [chore](compile) using PCH for compilation acceleration under clang (#19303) 2023-05-08 19:51:06 +08:00
Pxl
ec517a53a8 [Chore](build) upgrade clang-format version to 16 && move thrift to fe-common (#19155)
upgrade clang-format version to 16
move thrift to fe-common
fix core dump on pipeline engine when operator canceled and not prepared
2023-04-28 14:14:51 +08:00
d4ca7cb57a [chore](macOS) Specify the version of LLVM for Homebrew to install it (#17945)
Clang 16 was released last week and we haven't ported the codebase to it. If Homebrew bumped the version of LLVM, our workflows would fail.
2023-03-22 11:09:28 +08:00
3b94ca5ceb [chore](macOS) Use LLVM Clang by default (#17292)
Use LLVM Clang by default
2023-03-03 14:18:02 +08:00
Pxl
e298696baf [Chore](env) add error information when DORIS_GCC_HOME not set well (#14249) 2022-11-15 15:45:35 +08:00
458cb8f072 [chore](macOS) Support macOS Ventura (13.0) (#13626)
We need the tool `makeinfo` to build third parties on macOS Ventura (13.0).
2022-10-26 08:15:21 +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
Pxl
d8e401cfba [Chore](script) support custom python version on build script (#11954) 2022-08-24 14:31:05 +08:00
4fa53b4cdb [chore](workflow) Add shellcheck to check shell scripts (#11744) 2022-08-18 16:07:28 +08:00
11f6c69a22 [bugfix](start script)fix a bug while JAVA_HOME not set (#11366) 2022-08-01 10:44:03 +08:00
50864aca7d [refactor] fix warings when compile with clang (#8069) 2022-02-19 11:29:02 +08:00
800a36343a [chore] Prolog of hermetic build with GCC 11 and Clang 13. (#7712)
Prepare to generate hermetic build using GCC 11 and Clang 13.
The ideal toolchain would be ldb toolchain generated by [ldb_toolchain_gen.sh](https://github.com/amosbird/ldb_toolchain_gen/releases/download/v0.3/ldb_toolchain_gen.sh)

To kick off a clang build, set `DORIS_TOOLCHAIN=clang` before running any build scripts.
2022-01-21 12:12:04 +08:00
7b13ac5b31 [deps][chore] make openssl works with old glibc version (#7541)
1. build OpenSSL with --with-rand-seed=devrandom
2. Modified: brpc 1.0.0-rc02 -> 1.0.0
2021-12-31 23:19:04 +08:00
bc4ceeca44 [improvement] optimize java cmd find (#7428)
* optimize java cmd find, if java_home not set use java in PATH
2021-12-30 10:16:56 +08:00
ce015b364a [Enhance] Support to show more details for 'SHOW TABLES' (#5520)
Support to show more details for 'SHOW TABLES', it's useful for thirdparty monitoring systems.
2021-03-27 18:58:14 +08:00
ad67dd34a0 update gcc to gcc 10 and support c++17 (#5394)
* update gcc to gcc 10 and support c++17
    update brpc to 0.9.7
    update boost to 1.73
    remove third-party boost 1.54 for mysql

* update cmake version

* ignore jdk version

* remove unused patch

* avoid use SYS_getrandom call
2021-03-25 09:30:38 +08:00
c462231555 [build] support ccache while build BE (#5508) 2021-03-14 15:40:02 +08:00
e536823f92 [Thirdparty] Fix build thirdparty may be failed (#5187)
1. fix build thirdparty may be failed  in some os, because of default lib path is `lib` or`lib64` or `arrow` bulld failed by `brotil` and `zstd`
2. fix canot extract `.tar.bz2` file
2021-01-04 15:21:18 +08:00
62604dfeac Improve the processing logic of Load statement derived columns (#5140)
* support transitive in load expr
2020-12-30 10:27:46 +08:00
172838175f [Bug] Fix bug that index name in MaterializedViewMeta is not changed after schema change (#3048)
The index name in MaterializedViewMeta is still with `__doris_shadow` prefix
after schema change finished.

In this CL, I just remove the index name field in MaterializedViewMeta,
so that it would makes managing change of names less error-prone.
2020-03-09 10:11:16 +08:00
25a6d6abbe Make cmake and maven configurable (#2837) 2020-02-05 23:04:29 +08:00
5d1165fad2 Fix direct compilation failed #1862 (#1875)
Fix direct compilation failed:

fix compile thirdparty in ubuntu will install libs to lib dir instead of lib64
fix compile error in gcc5 due to the defect of c++11 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60970)
fix gcc version check will not work on some OS
2019-09-26 09:34:41 +08:00
99c912d884 Complete license and build script (#473)
1. Complete license and build script
2. Complete build script
3. Complete the READEME.md
2018-12-27 16:49:53 +08:00
37636d38e4 Improve build scripts (#404) 2018-12-10 13:56:09 +08:00
5f9f01669b Fix building Docker image error (#390) 2018-12-05 18:27:50 +08:00
f2df5d523d Fix compile issue of thirdparty library (#338) 2018-11-22 11:15:42 +08:00
fbde6a8636 Support for custom build toolchains (#330)
* Support for custom build toolchains

ISSUE #297

Locate the header file path of DORIS_GCC_HOME, add them to the CPLUS_INCLUDE_PATH environment variable.
So clang can find it.

* Compatible with custom toolchain for clang

ISSUE #297

1. Find default header file paths of DORIS_GCC_HOME and set as enviroment variable CLANG_COMPATIBLE_FLAGS.
2. Explicitly add these paths to CLANG_INCLUDE_FLAGS.
2018-11-21 15:58:12 +08:00
a2b299e3b9 Reduce UT binary size (#314)
* Reduce UT binary size

Almost every module depend on ExecEnv, and ExecEnv contains all
singleton, which make UT binary contains all object files.

This patch seperate ExecEnv's initial and destory to anthor file to
avoid other file's dependence. And status.cc include debug_util.h which
depend tuple.h tuple_row.h, and I move get_stack_trace() to
stack_util.cpp to reduce status.cc's dependence.

I add USE_RTTI=1 to build rocksdb to avoid linking librocksdb.a

Issue: #292

* Update
2018-11-15 16:17:23 +08:00
3a878fcf09 Improve build script (#305) 2018-11-14 14:10:46 +08:00
2868793b6b Change license to Apache License 2.0 (#262) 2018-11-01 09:06:01 +08:00
765c91bbc2 Added: change Doris build.sh to get environment variables from
custom_env.sh, and add run-ut.sh and run-fe-ut.sh
2018-10-30 23:42:05 +08:00