Sitelet https://github.com/chevdor/srtool-cli/issues/39
Skip to content

Permission denied (os error 13) #39

Description

@khssnv

Hello. Compilation failed while attempting to follow the Build a Deterministic Runtime guide because the container user does not have sufficient permissions in the runtime-dir.

Software versions used

srtool --version
# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:41:50] 
$ srtool --version
srtool-cli 0.13.2

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:41:52] 
$ podman --version
podman version 5.4.1

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:41:57] 
$ docker --version
Docker version 29.0.1, build eedd969

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:41:58] 
$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Ubuntu 25.04"

Failure example

srtool build --app --package parachain-template-runtime --runtime-dir templates/parachain/runtime
# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:42:01] 
$ srtool build --app --package parachain-template-runtime --runtime-dir templates/parachain/runtime
Found 1.88.0, we will be using docker.io/paritytech/srtool:1.88.0 for the build
🧰 Substrate Runtime Toolbox - srtool v0.18.3 🧰
              - by Chevdor -
info: override toolchain for '/build' set to '1.88.0-x86_64-unknown-linux-gnu'
info: component 'rust-std' for target 'wasm32-unknown-unknown' is up to date
info: component 'rust-src' is up to date
🏗  Building parachain-template-runtime as release using rustc 1.88.0 (6b00bc388 2025-06-23)
⏳ That can take a little while, be patient... subsequent builds may be faster.
   Since you have to wait a little, you may want to learn more about Substrate runtimes:
   https://docs.substrate.io/learn/architecture/
    Updating crates.io index
 Downloading crates ...
  Downloaded alloy-rlp-derive v0.3.12
  Downloaded equivalent v1.0.1
  ...
  Downloaded linux-raw-sys v0.9.4
  Downloaded gmp-mpfr-sys v1.6.5
  Downloaded verifiable v0.1.0
error: failed to create directory `/build/templates/parachain/runtime/target`

Caused by:
  Permission denied (os error 13)

Successful run after permissions granted

It works after all permissions to the directory granted for all users.

chmod 777 templates/parachain/runtime
# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:42:27] C:1
$ ls -ld templates/parachain/runtime 
drwxrwxr-x 1 khassanov khassanov 60 Nov 18 10:40 templates/parachain/runtime

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:51:06] 
$ chmod 777 templates/parachain/runtime 

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:51:16] 
$ ls -ld templates/parachain/runtime   
drwxrwxrwx 1 khassanov khassanov 60 Nov 18 10:40 templates/parachain/runtime

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:51:19] 
$ srtool build --app --package parachain-template-runtime --runtime-dir templates/parachain/runtime
Found 1.88.0, we will be using docker.io/paritytech/srtool:1.88.0 for the build
🧰 Substrate Runtime Toolbox - srtool v0.18.3 🧰
              - by Chevdor -
info: override toolchain for '/build' set to '1.88.0-x86_64-unknown-linux-gnu'
info: component 'rust-std' for target 'wasm32-unknown-unknown' is up to date
info: component 'rust-src' is up to date
🏗  Building parachain-template-runtime as release using rustc 1.88.0 (6b00bc388 2025-06-23)
⏳ That can take a little while, be patient... subsequent builds may be faster.
   Since you have to wait a little, you may want to learn more about Substrate runtimes:
   https://docs.substrate.io/learn/architecture/
    Updating crates.io index
 Downloading crates ...
  Downloaded Inflector v0.11.4
  Downloaded alloy-rlp-derive v0.3.12
  Downloaded fastrlp v0.4.0
  ...
   Compiling cumulus-pallet-xcmp-queue v0.23.0 (/build/cumulus/pallets/xcmp-queue)
   Compiling parachains-common v25.0.0 (/build/cumulus/parachains/common)
   Compiling polkadot-sdk v2509.0.0 (/build/umbrella)
    Finished `release` profile [optimized] target(s) in 2m 36s
✨ Your Substrate WASM Runtime is ready! ✨
✨ WASM  : templates/parachain/runtime/target/srtool/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.wasm
✨ Z_WASM: templates/parachain/runtime/target/srtool/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm
{"gen":"srtool v0.18.3","src":"zip","version":"0.1.0","commit":"","tag":"","branch":"","rustc":"rustc 1.88.0 (6b00bc388 2025-06-23)","pkg":"parachain-template-runtime","tmsp":"2025-11-18T05:54:02Z","size":"1321048","prop":"0x0dcb21b0c3f34510637ce846530d49168f40f747452f57f8be11b5018e297ca4","authorize_upgrade_prop":"0x58ceec41328a85069a36a2336e465a8b786b78834cf587d79b490636f3274a08","ipfs":"QmbGMdGS5CYz18mpDq2uECYafzN2rpgrTEHdqgoFydzeYc","sha256":"0x1bb38f5917584f2f066d5fc6502e9fd0c2677e10ba8a8e8829cf9221a935ad9d","wasm":"templates/parachain/runtime/target/srtool/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm","info":{"generator":{"name":"srtool","version":"0.18.3"},"src":"zip","version":"0.1.0","git":{"commit":"","tag":"","branch":""},"rustc":"rustc 1.88.0 (6b00bc388 2025-06-23)","pkg":"parachain-template-runtime","profile":"release"},"context":{"package":"parachain-template-runtime","runtime_dir":"templates/parachain/runtime","docker":{"image":"paritytech/srtool","tag":"1.88.0"},"profile":"release"},"runtimes":{"compact":{"tmsp":"2025-11-18T05:53:54Z","size":"6487243","prop":"0xfdad4dca77d8290fed94a6770f320c20e80913c39a4974a26864175adc2fa0df","authorize_upgrade_prop":"0x882547e9efacdaf22555da73ffcf9c8a24680f9f510b625c315b31f2a7794425","blake2_256":"0xc9846005a328bf4eadeb202338d85171cafbf12f5c45c0be97e8a7670d357270","ipfs":"QmQh11rDLpWBFSG6oyVwUwmK4CXJb3VNjoY9KgbANrkqhs","sha256":"0xfd8cd1c35e5734db2a924d703de2333a9933b199813f2e0e49241ef1ac198e5b","wasm":"templates/parachain/runtime/target/srtool/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.wasm","subwasm":{"size":6487243,"compression":{"size_compressed":6487243,"size_decompressed":6487243,"compressed":false},"reserved_meta":[109,101,116,97],"reserved_meta_valid":true,"metadata_version":14,"core_version":{"specName":"parachain-template-runtime","implName":"parachain-template-runtime","authoringVersion":1,"specVersion":1,"implVersion":0,"apis":[["0xdd718d5cc53262d4",1],["0x04e70521a0d3d2f8",1],["0xd7bdd8a272ca0d65",2],["0xdf6acb689907609b",5],["0x37e397fc7c91f5e4",2],["0xccd9de6396c899ca",1],["0x40fe3ad401f8959a",6],["0xd2bc9897eed08f15",3],["0xf78b278be53f454c",2],["0xab3c0572291feb8b",1],["0xbc9d89904f5b923f",1],["0x37c8bb1350a9a2a8",4],["0xf3ff14d5ab527059",3],["0xea93e3f16f3d6962",3],["0xfbc577b9d747efd6",1],["0xa2ddb6a58477bf63",1]],"transactionVersion":1,"stateVersion":1},"proposal_hash":"0xfdad4dca77d8290fed94a6770f320c20e80913c39a4974a26864175adc2fa0df","parachain_authorize_upgrade_hash":"0x882547e9efacdaf22555da73ffcf9c8a24680f9f510b625c315b31f2a7794425","ipfs_hash":"QmQh11rDLpWBFSG6oyVwUwmK4CXJb3VNjoY9KgbANrkqhs","blake2_256":"0xc9846005a328bf4eadeb202338d85171cafbf12f5c45c0be97e8a7670d357270"}},"compressed":{"tmsp":"2025-11-18T05:52:27Z","size":"1321048","prop":"0x0dcb21b0c3f34510637ce846530d49168f40f747452f57f8be11b5018e297ca4","authorize_upgrade_prop":"0x58ceec41328a85069a36a2336e465a8b786b78834cf587d79b490636f3274a08","blake2_256":"0x775f5683ef2acebaf9af2b9aaf6544a71ec13cb40c9167abb10e539c3b0ac179","ipfs":"QmbGMdGS5CYz18mpDq2uECYafzN2rpgrTEHdqgoFydzeYc","sha256":"0x1bb38f5917584f2f066d5fc6502e9fd0c2677e10ba8a8e8829cf9221a935ad9d","wasm":"templates/parachain/runtime/target/srtool/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm","subwasm":{"size":1321048,"compression":{"size_compressed":1321048,"size_decompressed":6487243,"compressed":true},"reserved_meta":[109,101,116,97],"reserved_meta_valid":true,"metadata_version":14,"core_version":{"specName":"parachain-template-runtime","implName":"parachain-template-runtime","authoringVersion":1,"specVersion":1,"implVersion":0,"apis":[["0xdd718d5cc53262d4",1],["0x04e70521a0d3d2f8",1],["0xd7bdd8a272ca0d65",2],["0xdf6acb689907609b",5],["0x37e397fc7c91f5e4",2],["0xccd9de6396c899ca",1],["0x40fe3ad401f8959a",6],["0xd2bc9897eed08f15",3],["0xf78b278be53f454c",2],["0xab3c0572291feb8b",1],["0xbc9d89904f5b923f",1],["0x37c8bb1350a9a2a8",4],["0xf3ff14d5ab527059",3],["0xea93e3f16f3d6962",3],["0xfbc577b9d747efd6",1],["0xa2ddb6a58477bf63",1]],"transactionVersion":1,"stateVersion":1},"proposal_hash":"0x0dcb21b0c3f34510637ce846530d49168f40f747452f57f8be11b5018e297ca4","parachain_authorize_upgrade_hash":"0x58ceec41328a85069a36a2336e465a8b786b78834cf587d79b490636f3274a08","ipfs_hash":"QmbGMdGS5CYz18mpDq2uECYafzN2rpgrTEHdqgoFydzeYc","blake2_256":"0x775f5683ef2acebaf9af2b9aaf6544a71ec13cb40c9167abb10e539c3b0ac179"}}}}

# khassanov @ d25 in ~/Workspace/github.com/paritytech/polkadot-sdk-polkadot-stable2509-2 on git:polkadot-stable2509-2-rc2 x [10:54:12] 
$ 

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions