You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Paddle/paddle/scripts/musl_build/README.md

91 lines
2.3 KiB

Paddle for Linux-musl Usage Guide
===========================================
# introduction
Paddle can be built for linux-musl such as alpine, and be used in libos-liked SGX TEE environment. Currently supported commericial product TEE Scone, and community maintanced TEE Occlum. We also working on to support open source TEE Graphene.
# build automaticly
1. clone paddle source from github
```bash
git clone https://github.com/PaddlePaddle/Paddle.git
```
2. setup build directory
```bash
# enter paddle directory
cd ./Paddle
# create and enter building directory
mkdir -p build && cd build
```
3. build docker for compiling. use environment HTTP_PROXY/HTTPS_PROXY for proxy setup.
```bash
# setup proxy address
export HTTP_PROXY='http://127.0.0.1:8080'
export HTTPS_PROXY='https://127.0.0.1:8080'
# invoke build script
../paddle/scripts/musl_build/build_docker.sh
```
4. compile paddle in previous built docker. proxy setup method is same as previous step.
output wheel package will save to "dist" directory.
```bash
# setup proxy addresss
export HTTP_PROXY='http://127.0.0.1:8080'
export HTTPS_PROXY='https://127.0.0.1:8080'
# invoke build paddle script
../paddle/scripts/musl_build/build_paddle.sh
# find output wheel package
ls dist/*.whl
```
# build paddle manually
1. start up the building docker, and enter the shell in the container
```bash
# checkout paddle source code
git clone https://github.com/PaddlePaddle/Paddle.git
# entery paddle directory
cd ./Paddle
# build docker image
../paddle/scripts/musl_build/build_docker.sh
# enter the container interactive shell
BUILD_AUTO=0 ../paddle/scripts/musl_build/build_paddle.sh
```
2. Type commands to compile source manually
```sh
# compile paddle by commands
# paddle is mount to /paddle directory
# working directory is /root
mkdir build && cd build
# install python requirement
pip install -r /paddle/python/requirements.txt
# configure project with cmake
cmake /paddle -DWITH_MUSL=ON DWITH_CRYPTO=OFF -DWITH_MKL=OFF -DWITH_GPU=OFF -DWITH_TESTING=OFF
# run the make to build project
make
```
# files
- build_docker.sh: docker building script
- build_paddle.sh: paddle building script
- build_inside.sh: build_paddle.sh will invoke this script inside the docker for compiling.
- config.sh: build config script for configure compiling option setting.
- Dockerfile: build docker defination file.