Ironclad/rivet

Github Key Access Issue[Bug]:

Closed this issue ยท 13 comments

What happened?

I'm trying to build my own Rivet from source but am encountering some issues. I've been following the instructions on the CONTRIBUTIONS.md page however when I enter this command:

git clone --filter=blob:none git@github.com:Ironclad/rivet.git

I get this error:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I have already gone into my .ssh folder and created a new key to make sure there were no errors. The new key has been added to my ssl agent, which is running. I'm not ruling out that I may have made an error but wanted to confirm if this is a security access issue associated with the Rivet project.

Thanks!

What was the expected functionality?

I've made sure to install all the dependencies, like Rust (using rustup), Node (v20.10.0), etc. Have followed the online documentation to the letter.

Describe your environment

WSL2, Node v20.10.0

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Are you able to clone it with HTTPS instead?

I haven't tried that, will do so and then report back. Thanks!

That worked! Just to make sure I tried the right command, I've pasted it below:

git clone --filter=blob:none https://github.com/Ironclad/rivet.git

Not sure why SSH isn't working for you for this, will double check access anyway

Not sure, although I don't doubt the possibility I've not configured something correctly on this laptop.

I followed the rest of the Build instructions as follows:
cd rivet
yarn
yarn dev

After executing yarn dev I get few warnings, none fatal, but near the ends I got this message:

error[E0282]: type annotations needed for Box<_>
--> /home/gsallier/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.3.34/src/format_description/parse/mod.rs:83:9
|
83 | let items = format_items
| ^^^^^
...
86 | Ok(items.into())
| ---- type must be known at this point
|
help: consider giving items an explicit type, where the placeholders _ are specified
|
83 | let items: Box<_> = format_items
| ++++++++

For more information about this error, try rustc --explain E0282.
error: could not compile time (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

after entering rustc --explain E0282, I get this:

The compiler could not infer a type and asked for a type annotation.

Erroneous code example:

let x = Vec::new();

This error indicates that type inference did not result in one unique possible type, and extra information is required.
In most cases this can be provided by adding a type annotation. Sometimes you need to specify a generic type parameter
manually.

In the example above, type Vec has a type parameter T. When calling Vec::new, barring any other later usage of the
variable x that allows the compiler to infer what type T is, the compiler needs to be told what it is.

The type can be specified on the variable:

let x: Vec = Vec::new();

The type can also be specified in the path of the expression:

let x = Vec::::new();

In cases with more complex types, it is not necessary to annotate the full type. Once the ambiguity is resolved, the
compiler can infer the rest:

let x: Vec<_> = "hello".chars().rev().collect();

Another way to provide the compiler with enough information, is to specify the generic type parameter:

let x = "hello".chars().rev().collect::<Vec>();

Not sure, maybe you have an old Rust version installed. That's a dependency that's failing to compile, nothing Rivet-specific

Ah ok, good to know. I'll run an update with rustup and see if that fixes the issue.

Checked and confirmed my current version of Rust is: rustc 1.80.0

That worked, the build finished just with these errors:

libEGL warning: failed to open /dev/dri/renderD128: Permission denied

** (rivet:74584): WARNING **: 18:20:26.270: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
libEGL warning: failed to open /dev/dri/renderD128: Permission denied

Probably another missing dependency.

However, the fix in that link fixed the issue and it was successfully built. I'm running it on my laptop right now. Thanks again!

Quick question: This worked and built a version of Rivet that runs in my WSL environment. What if I wanted to build a version of Rivet that's for Windows, not Ubuntu?

Same instructions should work

They did. Thanks again!