Summary of Bug
ibc-eureka-solidity-types, solana-ibc-proto, proof-api-core and proof-api-lib reference workspace-root files (proto/, abi/,contracts/) from their build scripts / sol! macros via package-relative paths like ../../../proto/... and ../../abi/.... This works locally, but cargo vendor / nix copies only package dir, dropping sibling folders, build fails:
error: Cannot build '/nix/store/7mvry16ayhcbv7k5amya4cqbr7n4b2z8-ibc-attestor.drv'.
Reason: builder failed with exit code 101.
Output paths:
/nix/store/611hzq09hwhh1hql0gqybbw0cxla3sa4-ibc-attestor
Last 25 log lines:
> Compiling encoding_rs v0.8.35
> Compiling protobuf v3.7.2
> Compiling same-file v1.0.6
> Compiling solana-native-token v2.3.0
> Compiling sync_wrapper v0.1.2
> Compiling walkdir v2.5.0
> Compiling peg v0.8.5
> Compiling solana-genesis-config v2.3.0
> Compiling zstd v0.13.3
> Compiling anchor-lang v0.32.1
> Compiling eth-keystore v0.5.0
> Compiling solana-example-mocks v2.2.1
> Compiling solana-account-decoder-client-types v2.3.13
> Compiling reqwest v0.11.27
> Compiling tendermint-light-client-update-client v0.1.0 (https://github.com/cosmos/solidity-ibc-eureka.git?rev=daa539a0e6d70cdf8835bfeef363dac3e4e58ed6#daa539a0)
> Compiling ark-bn254 v0.4.0
> Compiling async-lock v3.4.1
> Compiling tendermint-config v0.40.4 (https://github.com/cometbft/tendermint-rs#a2aa5bff)
> error: failed to run custom build command for `solana-ibc-proto v0.1.0 (https://github.com/cosmos/solidity-ibc-eureka.git?branch=feat%2Fsolana#3519a345)`
>
> Caused by:
> process didn't exit successfully: `/nix/var/nix/builds/nix-12901-3903171072/source/target/release/build/solana-ibc-proto-b4ce79ae2e23b113/build-script-build` (exit status: 1)
> --- stderr
> Error: Custom { kind: Other, error: "protoc failed: Could not make proto path relative: ../../../../proto/gmp/packet.proto: No such file or directory\n" }
> warning: build failed, waiting for other jobs to finish...
For full logs, run:
nix-store -l /nix/store/7mvry16ayhcbv7k5amya4cqbr7n4b2z8-ibc-attestor.drv
error: Cannot build '/nix/store/h7xsl36bj88m5vzlf9x6pfnzkk09vzdk-nix-shell-env.drv'.
Reason: 1 dependency failed.
Output paths:
/nix/store/8fr7cs41iwdf54grkqnp7xqahzx9c266-nix-shell-env
error: Build failed due to failed dependency
Same surfaces for the sol! macros in ibc-eureka-solidity-types, e.g. failed to canonicalize path ".../../../abi/bytecode/SP1ICS07Tendermint.json" and .../../../contracts/.../IAttestationMsgs.sol.
Expected Behaviour
The crates build when vendored as git dependencies (e.g. under nix).
Version
main branch
Steps to Reproduce
- Depend on one of these crates as a git dependency
cargo vendor (or build under nix)
- Build → fails because root
proto/ / abi/ / contracts/ aren't in vendored crate
For Admin Use
Summary of Bug
ibc-eureka-solidity-types,solana-ibc-proto,proof-api-coreandproof-api-libreference workspace-root files (proto/,abi/,contracts/) from their build scripts /sol!macros via package-relative paths like../../../proto/...and../../abi/.... This works locally, butcargo vendor/ nix copies only package dir, dropping sibling folders, build fails:Same surfaces for the
sol!macros inibc-eureka-solidity-types, e.g.failed to canonicalize path ".../../../abi/bytecode/SP1ICS07Tendermint.json"and.../../../contracts/.../IAttestationMsgs.sol.Expected Behaviour
The crates build when vendored as git dependencies (e.g. under nix).
Version
main branch
Steps to Reproduce
cargo vendor(or build under nix)proto//abi//contracts/aren't in vendored crateFor Admin Use