|
44 | 44 |
|
45 | 45 | ```bash |
46 | 46 | sudo apt-get -y update |
47 | | -sudo apt-get -y install git cmake ninja-build libidn11-dev ragel yasm protobuf-compiler \ |
48 | | - protobuf-compiler-grpc libprotobuf-dev libgrpc++-dev libgrpc-dev libgrpc++1 libgrpc10 \ |
49 | | - rapidjson-dev zlib1g-dev libxxhash-dev libzstd-dev libsnappy-dev liblz4-dev \ |
50 | | - libgtest-dev libgmock-dev libbz2-dev libdouble-conversion-dev libssl-dev |
| 47 | +sudo apt-get -y install git gdb ninja-build libidn11-dev ragel yasm libc-ares-dev libre2-dev \ |
| 48 | + rapidjson-dev zlib1g-dev libxxhash-dev libzstd-dev libsnappy-dev libgtest-dev libgmock-dev \ |
| 49 | + libbz2-dev liblz4-dev libdouble-conversion-dev libstdc++-13-dev gcc-13 g++-13 |
51 | 50 |
|
52 | 51 | wget https://apt.llvm.org/llvm.sh |
53 | 52 | chmod u+x llvm.sh |
54 | 53 | sudo ./llvm.sh 16 |
55 | 54 |
|
56 | | -wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz |
57 | | -tar -xvzf libiconv-1.15.tar.gz && cd libiconv-1.15 |
58 | | -./configure --prefix=/usr/local |
| 55 | +# Install abseil-cpp |
| 56 | +wget -O abseil-cpp-20230802.0.tar.gz https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.0.tar.gz |
| 57 | +tar -xvzf abseil-cpp-20230802.0.tar.gz |
| 58 | +cd abseil-cpp-20230802.0 |
| 59 | +mkdir build && cd build |
| 60 | +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DABSL_PROPAGATE_CXX_STD=ON .. |
| 61 | +cmake --build . --config Release |
| 62 | +cmake --install . --config Release --prefix ~/ydb_deps/absl |
| 63 | +cd ../../ |
| 64 | + |
| 65 | +# Install protobuf |
| 66 | +wget -O protobuf-3.21.12.tar.gz https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz |
| 67 | +tar -xvzf protobuf-3.21.12.tar.gz |
| 68 | +cd protobuf-3.21.12 |
| 69 | +mkdir build && cd build |
| 70 | +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_INSTALL=ON .. |
| 71 | +cmake --build . --config Release |
| 72 | +cmake --install . --config Release --prefix ~/ydb_deps/protobuf |
| 73 | +cd ../../ |
| 74 | + |
| 75 | +# Install openssl |
| 76 | +wget -O openssl-1.1.1t.tar.gz https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1t.tar.gz |
| 77 | +tar -xvzf openssl-1.1.1t.tar.gz |
| 78 | +cd openssl-OpenSSL_1_1_1t |
| 79 | +YDB_DEPS_DIR=~/ydb_deps |
| 80 | +./config --prefix=$YDB_DEPS_DIR/openssl |
59 | 81 | make |
60 | | -sudo make install |
| 82 | +make install |
| 83 | +cd ../../ |
61 | 84 |
|
| 85 | +# Install gRPC |
| 86 | +wget -O grpc-1.54.3.tar.gz https://github.com/grpc/grpc/archive/refs/tags/v1.54.3.tar.gz |
| 87 | +tar -xvzf grpc-1.54.3.tar.gz && cd grpc-1.54.3 |
| 88 | +mkdir build && cd build |
| 89 | +cmake -G Ninja -DCMAKE_PREFIX_PATH="~/ydb_deps/absl;~/ydb_deps/protobuf;~/ydb_deps/openssl" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 \ |
| 90 | + -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_BUILD_CSHARP_EXT=OFF \ |
| 91 | + -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_RE2_PROVIDER=package \ |
| 92 | + -DgRPC_SSL_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_ABSL_PROVIDER=package \ |
| 93 | + -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ |
| 94 | + -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF .. |
| 95 | +cmake --build . --config Release |
| 96 | +cmake --install . --config Release --prefix ~/ydb_deps/grpc |
| 97 | +cd ../../ |
| 98 | + |
| 99 | +# Install base64 |
62 | 100 | wget -O base64-0.5.2.tar.gz https://github.com/aklomp/base64/archive/refs/tags/v0.5.2.tar.gz |
63 | 101 | tar -xvzf base64-0.5.2.tar.gz && cd base64-0.5.2 |
64 | 102 | mkdir build && cd build |
65 | | -cmake -DCMAKE_BUILD_TYPE=Release .. |
66 | | -sudo cmake --build . --config Release --target install |
| 103 | +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .. |
| 104 | +cmake --build . --config Release |
| 105 | +cmake --install . --config Release --prefix ~/ydb_deps/base64 |
| 106 | +cd ../../ |
67 | 107 |
|
| 108 | +# Install brotli |
68 | 109 | wget -O brotli-1.1.0.tar.gz https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz |
69 | 110 | tar -xvzf brotli-1.1.0.tar.gz && cd brotli-1.1.0 |
70 | 111 | mkdir build && cd build |
71 | | -cmake -DCMAKE_BUILD_TYPE=Release .. |
72 | | -sudo cmake --build . --config Release --target install |
| 112 | +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .. |
| 113 | +cmake --build . --config Release |
| 114 | +cmake --install . --config Release --prefix ~/ydb_deps/brotli |
| 115 | +cd ../../ |
73 | 116 |
|
| 117 | +# Install jwt-cpp |
74 | 118 | wget -O jwt-cpp-0.7.0.tar.gz https://github.com/Thalhammer/jwt-cpp/archive/refs/tags/v0.7.0.tar.gz |
75 | 119 | tar -xvzf jwt-cpp-0.7.0.tar.gz && cd jwt-cpp-0.7.0 |
76 | 120 | mkdir build && cd build |
77 | | -cmake -DCMAKE_BUILD_TYPE=Release .. |
78 | | -sudo cmake --build . --config Release --target install |
| 121 | +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .. |
| 122 | +cmake --build . --config Release |
| 123 | +cmake --install . --config Release --prefix ~/ydb_deps/jwt-cpp |
| 124 | +cd ../../ |
79 | 125 | ``` |
80 | 126 |
|
81 | 127 | ### Create the work directory |
|
0 commit comments