Issues during local deploy of Internet Identity

Hi, first I have a question. Is it really necessary to have a copy of internet identity locally to make it work in my canisters for authentication?
If yes I have a problem during the deployment of it.

After running this command II_FETCH_ROOT_KEY=1 II_DUMMY_CAPTCHA=1 dfx deploy --no-wallet --argument '(null)' I receive this output on Ubuntu terminal:

I’m completely ignorant on Rust so for me that is a wall.

Yes, this is necessary. There’s the vision that this won’t be necessary anymore at some point, but for now it’s required.

I don’t know about the actual error. Let me ping the relevant folks

1 Like

@lpettenella hi!

Can you tell me which commit you’re using for Internet Identity, and which platform (macOS, Windows, etc)?

Also, can you try running scripts/build directly? that’ll clear up the output a bit:

II_FETCH_ROOT_KEY=1 II_DUMMY_CAPTCHA=1 ./scripts/build

Finally, any reason you want to build the canister yourself as opposed to using a prebuilt dev version?

Relevant links:

1 Like

I’m using the last one 44db91e on Ubuntu using wsl.

I executed the command but the output it’s the same.

Here is the complete output:

Compiling frontend assets

> @dfinity/internet-identity@0.1.0 build
> NODE_ENV=production webpack --config-name app

app:
  assets by status 1.34 MiB [big]
    asset index.js 845 KiB [emitted] [minimized] [big] (name: index) 2 related assets
    asset loader.webp 526 KiB [compared for emit] [from: src/frontend/assets/loader.webp] [copied] [big]
  asset favicon.ico 15 KiB [compared for emit] [from: src/frontend/assets/favicon.ico] [copied]
  asset ic-badge.svg 14.5 KiB [compared for emit] [from: src/frontend/assets/ic-badge.svg] [copied]
  asset index.css 13.9 KiB [compared for emit] [minimized] (name: index)
  asset index.html 504 bytes [compared for emit]
  Entrypoint index [big] 859 KiB = index.css 13.9 KiB index.js 845 KiB
  orphan modules 249 KiB [orphan] 45 modules
  runtime modules 1.28 KiB 7 modules
  javascript modules 1.25 MiB
    modules by path ./node_modules/ 1.03 MiB 85 modules
    modules by path ./src/frontend/ 221 KiB 64 modules
    optional modules 30 bytes [optional]
      crypto (ignored) 15 bytes [optional] [built] [code generated]
      buffer (ignored) 15 bytes [optional] [built] [code generated]
    crypto (ignored) 15 bytes [built] [code generated]
    util (ignored) 15 bytes [built] [code generated]
    util (ignored) 15 bytes [built] [code generated]
  json modules 161 KiB 11 modules
  css modules 24 KiB
    css ./node_modules/css-loader/dist/cjs.js!./src/frontend/src/styles/main.css 99 bytes [built] [code generated]
    css ./node_modules/css-loader/dist/cjs.js!./src/frontend/src/styles/main.css (1) 23.9 KiB [built] [code generated]

  WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
  This can impact web performance.
  Assets:
    index.js (845 KiB)
    loader.webp (526 KiB)
    index.js.gz (279 KiB)

  WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
  Entrypoints:
    index (859 KiB)
        index.css
        index.js


  WARNING in webpack performance recommendations:
  You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
  For more info visit https://webpack.js.org/guides/code-splitting/

  app (webpack 5.45.1) compiled with 3 warnings in 6555 ms
USING DUMMY CAPTCHA
Running cargo build --manifest-path /home/luca/workspace/internet-identity/src/internet_identity/Cargo.toml --target wasm32-unknown-unknown --release -j1 --features dummy_captcha
RUSTFLAGS: --remap-path-prefix /home/luca/.cargo=/cargo
    Updating crates.io index
error: failed to select a version for the requirement `serde_with = "^2.0"`
candidate versions found which didn't match: 1.14.0, 1.13.0, 1.12.1, ...
location searched: crates.io index
required by package `internet_identity v0.1.0 (/home/luca/workspace/internet-identity/src/internet_identity)`

@lpettenella gotcha. The build was never tested on Windows and isn’t really a supported use case right now; can you tell us more about why you need to build the canister as opposed to using one of the prebuilt ones like suggested in my last message?

Thanks for the help, sorry I forgot to answer, to be honest there are no reasons in particular, I was just following the instructions at this repo: krpeacock/auth-client-demo: Example demo of how to use https://www.npmjs.com/package/@dfinity/auth-client to make authenticated calls to an IC app (github.com)

I suppose I will try with the prebuilt version!

Ok, let us know if you run into any more issues :slight_smile:

CC @kpeacock probably time for an update!

1 Like

Updated a couple days ago!

1 Like

Just in case somebody finds this now via google: there is a step by step example on how to set up Internet Identity locally here.