Giter Club home page Giter Club logo

Comments (12)

FreezyLemon avatar FreezyLemon commented on August 11, 2024 1

Ah. It's probably rustdoc then. I think built collects version information by executing rustdoc -V, so not having it installed could cause that error too.

from rav1e.

FreezyLemon avatar FreezyLemon commented on August 11, 2024
Failed to acquire build-time information: Os { code: 2, kind: NotFound, message: "No such file or directory" }

This means that the following line in the build script failed:

built::write_built_file().expect("Failed to acquire build-time information");

built writes some information to a file, so NotFound here indicates that this writing failed. Is it possible that the docker container is configured in a way that could prevent file writes? It might also be a bug in built.

from rav1e.

adamjstewart avatar adamjstewart commented on August 11, 2024

Do you know where it would be trying to write to? Is there a way to control that?

from rav1e.

adamjstewart avatar adamjstewart commented on August 11, 2024

Also, is this an error in writing an error message, in which case we still need to solve the "Failed to acquire build-time information" message?

from rav1e.

FreezyLemon avatar FreezyLemon commented on August 11, 2024

Also, is this an error in writing an error message, in which case we still need to solve the "Failed to acquire build-time information" message?

No, the error is "Failed to acquire build-time information". The message after that is the inner error message, which tells us why it failed to acquire build-time information: IO error OS { kind: NotFound, ... }.

Do you know where it would be trying to write to?

It tries to write to a temporary directory created for the build. It's the OUT_DIR (more info here and here, ctrl-f for OUT_DIR). The name follows the pattern <project root>/target/release/build/rav1e-<some hex>/out, but changes between compilations.

Is there a way to control that?

The out dir is inside the target folder used during compilation. I don't think you can set the OUT_DIR directly, but moving the target folder (e.g. by setting CARGO_TARGET_DIR) should move everything including OUT_DIR.

from rav1e.

adamjstewart avatar adamjstewart commented on August 11, 2024

Okay, apparently our docker images have no read-only partitions, so that shouldn't be an issue.

I'm still not sure what build-time information it failed to acquire though. Is it possible there is a missing dependency? If I'm able to reproduce locally with docker, what steps can I take to debug this? The error message doesn't even tell me what file it's trying to read/write...

from rav1e.

adamjstewart avatar adamjstewart commented on August 11, 2024

Possibly related to lukaslueg/built#14, I wish the error message was a little more helpful...

from rav1e.

adamjstewart avatar adamjstewart commented on August 11, 2024

Found a fix. If I build rust with developer tools (clippy, rustdoc, rustfmt, rust-analyzer) then the build succeeds. Does that sound right?

from rav1e.

adamjstewart avatar adamjstewart commented on August 11, 2024

Thanks, that clears that up! I'm new to the rust build system so I'm not sure if/where the dependency on rustdoc is listed. I'll chalk this one up to rust needing better error messages. Thanks again for the help!

from rav1e.

lukaslueg avatar lukaslueg commented on August 11, 2024

Does this need a bump in built right now?

from rav1e.

lu-zero avatar lu-zero commented on August 11, 2024

I'm afraid so

from rav1e.

lukaslueg avatar lukaslueg commented on August 11, 2024

@lu-zero, bumped to 0.7.2

from rav1e.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.