GE Offline Compilation Guide
1. Complete the following preparation work in a networked environment
Step 1: Repository Download
In a networked environment, enter this project homepage, and complete source code download through the Download ZIP or clone button according to the instructions.
Step 2: Download Open Source Third-Party Software Dependencies
GE depends on the following third-party open source software during compilation:
| Open Source Software | Version | Download Address |
|---|---|---|
| protobuf | 25.1 | protobuf-25.1.tar.gz |
| boost | 1.87.0 | boost_1_87_0.tar.gz |
| abseil-cpp | 20230802.1 | abseil-cpp-20230802.1.tar.gz |
| c-ares | 1.19.1 | c-ares-1.19.1.tar.gz |
| benchmark | 1.8.3 | benchmark-1.8.3.tar.gz |
| grpc | 1.60.0 | grpc-1.60.0.tar.gz |
| googletest | 1.14.0 | googletest-1.14.0.tar.gz |
| json | 3.12.0 | json-3.12.0.tar.gz |
| openssl | 3.0.9 | openssl-openssl-3.0.9.tar.gz |
| re2 | 2024-02-01 | re2-2024-02-01.tar.gz |
| symengine | 0.12.0 | symengine-0.12.0.tar.gz |
| zlib | 1.2.13 | zlib-1.2.13.tar.gz |
| makeself | 2.5.0 | makeself-release-2.5.0-patch1.tar.gz |
| mockcpp | 2.7 | mockcpp-2.7.tar.gz |
| libseccomp | 2.5.4 | libseccomp-2.5.4.tar.gz |
| cann-cmake | master | cmake-master.tar.gz |
-
Method 1 (Recommended): Use the one-click third-party software download packaging script provided by GE repository, usage as follows:
# Execute in GE repository root directory in a networked environment cd ge bash scripts/download_third_party_source.shAfter successful execution,
opensource.tar.gzwill be generated in the GE repository root directory -
Method 2: Download third-party open source software packages one by one through the third-party open source software list links
2. After completing networked environment preparation, log in to the test environment (offline) to continue compilation preparation
Scenario 1: Use third-party software downloaded by one-click third-party software download packaging script
Connect to the test environment (offline), upload the repository and third-party software dependencies source code obtained from the networked environment to your specified directory. The downloaded files are compressed packages and need to be extracted.
After extraction, the project structure is as follows:
├── ge # GE repository source code extracted directory
│ ├── api
│ ├── base
│ └── ...
├── opensource # Third-party software dependencies extracted directory
│ └── abseil-cpp-20230802.1.tar.gz
│ └── benchmark-1.8.3.tar.gz
│ └── ...
Enter the repository root directory, you can adjust the directory through the following commands:
# Move files under opensource directory to GE repository
cd ge
mkdir output output/third_party
cp -r ../opensource/* output/third_party
rm -rf ../opensource
After adjustment, the project structure is as follows:
├── ge # GE repository source code extracted directory
│ ├── api
│ ├── base
│ ├── ...
│ └── output # Third-party software default directory
│ └── third_party
│ └── abseil-cpp-20230802.1.tar.gz
│ └── benchmark-1.8.3.tar.gz
│ └── ...
After completion, return to Build Verification - Compilation section to continue compilation
Scenario 2: Manually download third-party software one by one through third-party open source software list links
-
Connect to the test environment (offline), upload the repository and third-party software dependencies source code obtained from the networked environment to your specified directory, where the repository is a compressed package and needs to be extracted.
-
Enter the repository root directory, create
output/third_partyand place the third-party software packages in this directory.
# Create output/third_party directory
cd ge
mkdir output output/third_party
After adjustment, the project structure is as follows:
├── ge # GE repository source code extracted directory
│ ├── api
│ ├── base
│ ├── ...
│ └── output # Third-party software default directory
│ └── third_party
│ ├── abseil-cpp-20230802.1.tar.gz
│ ├── benchmark-1.8.3.tar.gz
│ └── ...
After completion, return to Build Verification - Compilation section to continue compilation