Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spurious rebuilds (still…) #249

Open
SimonSapin opened this issue Apr 24, 2020 · 7 comments
Open

Spurious rebuilds (still…) #249

SimonSapin opened this issue Apr 24, 2020 · 7 comments

Comments

@SimonSapin
Copy link
Member

In #246 I tried to fix this and it seemed ok when building from this repository. But somehow building in Servo even after servo/servo#26294 still has this bug:

$ ./mach build
[]
$ CARGO_LOG=cargo::core::compiler::fingerprint=info ./mach build 
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] stale: changed "/home/simon/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/9a6d8fc/mozjs/js/src/old-configure"
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]           (vs) "/home/simon/servo/target/release/build/mozjs_sys-b4b5f9376eb52130/output"
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]                FileTime { seconds: 1587715054, nanos: 830819920 } != FileTime { seconds: 1587715054, nanos: 862820022 }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for servo v0.0.1 (/home/simon/servo/ports/glutin)/Build/Target { name: "servo", tested: false, benched: false, doc: true, ..: with_path("/home/simon/servo/ports/glutin/main.rs", Edition2018) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for libservo v0.0.1 (/home/simon/servo/components/servo)/Build/Target { ..: lib_target("servo", ["rlib"], "/home/simon/servo/components/servo/lib.rs", Edition2018) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for layout_thread_2020 v0.0.1 (/home/simon/servo/components/layout_thread_2020)/Build/Target { ..: lib_target("layout_thread", ["lib"], "/home/simon/servo/components/layout_thread_2020/lib.rs", Edition2018) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for script v0.0.1 (/home/simon/servo/components/script)/Build/Target { ..: lib_target("script", ["lib"], "/home/simon/servo/components/script/lib.rs", Edition2018) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for mozjs v0.13.0 (https://github.com/servo/rust-mozjs#8615f863)/Build/Target { doctest: false, ..: lib_target("mozjs", ["lib"], "/home/simon/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/8615f86/src/lib.rs", Edition2015) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for mozjs v0.13.0 (https://github.com/servo/rust-mozjs#8615f863)/RunCustomBuild/Target { ..: custom_build_target("build-script-build", "/home/simon/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/8615f86/build.rs", Edition2015) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for mozjs_sys v0.68.1 (https://github.com/servo/mozjs?rev=9a6d8fc6b0cf13cd02efbd805ccdf62ddc5ce593#9a6d8fc6)/RunCustomBuild/Target { ..: custom_build_target("build-script-build", "/home/simon/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/9a6d8fc/build.rs", Edition2015) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint] fingerprint error for mozjs_sys v0.68.1 (https://github.com/servo/mozjs?rev=9a6d8fc6b0cf13cd02efbd805ccdf62ddc5ce593#9a6d8fc6)/Build/Target { doctest: false, ..: lib_target("mozjs_sys", ["lib"], "/home/simon/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/9a6d8fc/src/lib.rs", Edition2015) }
[2020-04-24T09:05:50Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
   Compiling mozjs_sys v0.68.1 (https://github.com/servo/mozjs?rev=9a6d8fc6b0cf13cd02efbd805ccdf62ddc5ce593#9a6d8fc6)
   Compiling mozjs v0.13.0 (https://github.com/servo/rust-mozjs#8615f863)
   Compiling script v0.0.1 (/home/simon/servo/components/script)
   Compiling layout_thread_2020 v0.0.1 (/home/simon/servo/components/layout_thread_2020)
   Compiling libservo v0.0.1 (/home/simon/servo/components/servo)
   Compiling servo v0.0.1 (/home/simon/servo/ports/glutin)

Relevant part:

stale: changed "/home/simon/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/9a6d8fc/mozjs/js/src/old-configure"

I don’t feel like investigating and making a fix right now, so here’s a bug report instead.

@nox
Copy link
Contributor

nox commented Apr 24, 2020

The mozjs build stuff shouldn't be touch-ing the old-configure file itself, so that's probably something in makefile.cargo.

@nox
Copy link
Contributor

nox commented Apr 24, 2020

mozjs/makefile.cargo

Lines 190 to 193 in bfee8dc

[[ $(JSSRC)/configure -ot $(JSSRC)/configure.in ]] && touch $(JSSRC)/configure || true
[[ $(JSSRC)/old-configure -ot $(JSSRC)/old-configure.in ]] && touch $(JSSRC)/old-configure || true
! [[ $(JSSRC)/configure.in -ot $(JSSRC)/configure ]] && touch $(JSSRC)/configure || true
! [[ $(JSSRC)/old-configure.in -ot $(JSSRC)/old-configure ]] && touch $(JSSRC)/old-configure || true

@SimonSapin
Copy link
Member Author

I’m not sure what we should do here. Adding old-configure to ignore() doesn’t sound right.

@nox
Copy link
Contributor

nox commented Jun 25, 2020

AFAIK we can remove those touch commands, they were there because the configure script itself was checking whether it is updated, when running.

@jdm
Copy link
Member

jdm commented Jun 25, 2020

They might still be necessary due to cargo git dependency timestamps?

@LAK132
Copy link

LAK132 commented May 28, 2021

Also getting this due to a missing rustfmt.toml

[2021-05-28T08:58:23Z INFO  cargo::core::compiler::fingerprint] stale: missing "/home/lak132/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/de147f0/rustfmt.toml"

@xq-tec
Copy link

xq-tec commented Jun 10, 2021

Also getting this due to a missing rustfmt.toml

This should be fixed by #285

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants