php interpreter / web assembly build / wasmedge / 웹어셈블리 / php 스크립트 / script /
windows 에서 php interpreter 의 wasm build
- OS: windows 10 + WSL2 ubuntu
WSL2 의 ubutu 내에서 작업했다. 직접 windows10 에서 가능하지 않을까 해봤지만, 기본적으로 build 에서 사용하는 여러 tool 들이 linux 를 기반으로 했다. 예를들면, shell script 나 make 등. container 에서 작업하는 것도 고려해 볼 수 있을 듯 한데, container 에서 다시 docker 를 설치하는 작업을 잘 몰라 하지 않았다.
그래서 wsl2 에 docker 를 설치하고 build 를 했다.
build 를 위해서는 linux 에 docker 도 설치되어 있어야 한다.
다음과 같은 절차를 거치면 된다.
- git clone
- sudo make php-7.4.32
<proj_root>/php/build-output/php/php-7.4.32/bin/
에서php-cgi
라는 결과파일을 찾을 수 있다.
git clone:
git clone --depth=1 -b php-wasmedge-demo https://github.com/vmware-labs/webassembly-language-runtimes.git wlr-demo
build command:
cd wlr-demo
cd php
sudo make php-7.4.32
기타 :
Dockerfile.wasi-builder
파일은sudo make php-7.4.32
를 하면 build 를 위해서 docker 를 사용하는데, 그때 사용되기 위한 파일이다. 필자는 처음에 Dockfile 로 container 를 만들어서 build 하려 했는데, 실패했다.sudo make php-7.4.32
를 실행하면 아래와 같은 command 를 실행하게 된다.docker build -f <proj_root>\Dockerfile.wasi-builder -t ghcr.io/vmware-labs/wasi-builder:16 <proj_root>\ docker build -f <proj_root>\php\Dockerfile --build-arg WASI_SDK_VERSION=16 -t ghcr.io/vmware-labs/php-builder:wasi-16 <proj_root>\php\ mkdir -p build-output build-staging docker run --rm -v <proj_root>\php\build-output:/wlr/build-output -v <proj_root>\php\build-staging:/wlr/build-staging ghcr.io/vmware-labs/php-builder:wasi-16 ./wl-make.sh php/php-7.4.32
“See Also 1.” 에서 이야기하는 것처럼 build 를 하려면,
Dockerfile.wasi-builder
안에ENV WASMLABS_RUNTIME=wasmedge
부분을 추가한후,sudo make php-7.4.32
를 실행하면 된다. 그러면,<proj_root>/php/build-output/php/php-7.4.32/bin
에php-cgi-wasmedge
,php-cgi
2개 파일이 생성된다.... ENV WASI_SDK=wasi-sdk-${WASI_SDK_VERSION} ENV WASI_SDK_ROOT=/wasi-sdk ENV WASMLABS_RUNTIME=wasmedge ...
댓글 없음:
댓글 쓰기