Error compile and import registry-canister

I follow the doc of dfinity/ic and try to build the canisters but i got some error when i run

the command: gitlab-ci/tools/docker-run gitlab-ci/tools/cargo-build-canisters

msg: Compiling registry-canister v0.8.0 (/builds/dfinity/ic/rs/registry/canister)
error[E0432]: unresolved import ic_registry_subnet_features
→ registry/canister/src/mutations/do_create_subnet.rs:27:5
|
27 | use ic_registry_subnet_features::SubnetFeatures;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module ic_registry_subnet_features

error[E0432]: unresolved import ic_registry_subnet_features
→ registry/canister/src/mutations/do_update_subnet.rs:9:5
|
9 | use ic_registry_subnet_features::SubnetFeatures;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module ic_registry_subnet_features

warning: ignoring -C extra-filename flag due to -o flag

error: aborting due to 2 previous errors; 1 warning emitted

For more information about this error, try rustc --explain E0432.
error: could not compile registry-canister

To learn more, run the command again with --verbose.

1 Like

There are still some private repos that are closed source that the build depends on.

In this case, though, the problem is not a dependency on a private repository; dfinity/ic should be self-contained. But it is a selective code dump from a private repository, and it seems the whitelist indicating which files to publish wasn’t updated after adding new code. And it seems this issue wasn’t considered serious enough to just fix the script and re-run it to put a complete code dump out while we wait for an imminent change of how code is shared.

Smells like a typical case of the general pattern of neglecting an existing project/process/etc. when one is expecting a replacement to arrive soon, which I find is often a bad choice (as new stuff tends to come late, or maybe never).