When build runtime-benchmarks, we start to having issue with pallet-society. See the error details below

error[E0046]: not all trait items implemented, missing: `successful_origin`
    --> /Users/home/.cargo/git/checkouts/substrate-7e08433d4c370a21/19162e4/frame/society/src/lib.rs:1268:1
1268 | impl<T: Config> EnsureOrigin<T::Origin> for EnsureFounder<T> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `successful_origin` in implementation
     = help: implement the missing item: `fn successful_origin() -> OuterOrigin { todo!() }`

For more information about this error, try `rustc --explain E0046`.
error: could not compile `pallet-society` due to previous error

The command used to build runtime-benchmarks

cargo build --release --features runtime-benchmarks

We are using polkadot-v0.9.16. I have removed all the pallet-society reference from our project, the problem still persists. From the Cargo.lock file, seems like it's part of the kusama-runtime.

This command is used to work with polkadot-v0.9.13. Any help would be much appreciated.

  • In this end, errors like this means some crates are not being correctly imported into the runtime with the appropriate feature flags. You will need to hunt to see where this feature is being enabled, when you don't want it to be.
    – Shawn Tabrizi
    Commented Mar 23, 2022 at 5:56
  • 1
    @ShawnTabrizi, thanks Shawn. That works. Much appreciated. Should have checked existing questions before I ask a new one. Thanks again.
    – Jerry Ren
    Commented Mar 23, 2022 at 10:26
  • Sorry you ran into the issue!
    – Shawn Tabrizi
    Commented Mar 23, 2022 at 12:18


Browse other questions tagged or ask your own question.