Closed Bug 1340594 Opened 7 years ago Closed 7 years ago

mp4parse_capi, Cargo.toml, bool not string for package.build (Cargo < 0.16.0)

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox53 unaffected, firefox54 fixed)

RESOLVED FIXED
mozilla54
Tracking Status
firefox53 --- unaffected
firefox54 --- fixed

People

(Reporter: KaiE, Assigned: jbeich)

References

Details

Attachments

(2 files)

Building m-c gave me an error message:

media/libstagefright/binding/mp4parse_capi/Cargo.toml : expected a value of type `string`, but found a value of type `boolean` for the key `package.build`

Apparently other people have that issue, too, with recent versions of rust?

I'm using cargo 0.15.0 and rust 1.15.1 on Fedora.

Not knowing what to do, I simply removed the build=false line, and that seems to help.
(In reply to Kai Engert (:kaie) from comment #0)
> 
> Apparently other people have that issue, too, with recent versions of rust?

https://www.reddit.com/r/rust/comments/5l9pvd/is_it_possible_to_build_std_without_build_all_of/
Attached patch 1340594.patchSplinter Review
I have no idea if this is right, but it's helping me.
Attachment #8838605 - Flags: review?(ted)
See Also: → 1338655
I'm not Ted, but this change will get clobbered the next time we update the source from upstream. You need to modify mp4parse-cargo.patch as well.

What I'm confused by is how you can be building with cargo 0.15.0. After Bug 1298600, we should be requiring cargo 0.16 or later.
(In reply to Ralph Giles (:rillian) | needinfo me from comment #3)
> What I'm confused by is how you can be building with cargo 0.15.0. After Bug
> 1298600, we should be requiring cargo 0.16 or later.

die() checks have bogus python indentation. I'm hitting the same issue on FreeBSD with the downstream package yet to be updated.
Attachment #8841153 - Flags: review?(giles) → review?(nfroyd)
Comment on attachment 8841153 [details]
Bug 1340594 - Make sure Cargo version check can fail.

https://reviewboard.mozilla.org/r/115482/#review116932

After applying the patch:

$ ./mach build
[...]
checking for rustc... /usr/local/bin/rustc
checking for cargo... not found
checking rustc version... 1.15.1
ERROR: Cargo package manager not found.
To compile Rust language sources, you must have 'cargo' in your path.
See https://www.rust-lang.org/ for more information.

You can install cargo by running './mach bootstrap'
or by directly running the installer from https://rustup.rs/

$ pkg install cargo
$ ./mach build
[...]
checking for rustc... /usr/local/bin/rustc
checking for cargo... /usr/local/bin/cargo
checking rustc version... 1.15.1
checking cargo version... 0.15.0
ERROR: Cargo package manager 0.15.0 is too old.

To compile Rust language sources please install at least
version 0.16 of 'cargo' and make sure it is first in your path.

You can verify this by typing 'cargo --version'.
Blocks: 1338655
Depends on: 1298600
See Also: 1338655
Summary: mp4parse_capi, Cargo.toml, bool not string for package.build → mp4parse_capi, Cargo.toml, bool not string for package.build (Cargo < 0.16.0)
Version: 53 Branch → Trunk
Comment on attachment 8841153 [details]
Bug 1340594 - Make sure Cargo version check can fail.

https://reviewboard.mozilla.org/r/115482/#review116952

Doh, nice catch.
Attachment #8841153 - Flags: review?(nfroyd) → review+
Comment on attachment 8841153 [details]
Bug 1340594 - Make sure Cargo version check can fail.

https://reviewboard.mozilla.org/r/115482/#review116954
Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/22df3f4f6e66
Make sure Cargo version check can fail. r=froydnj
https://hg.mozilla.org/mozilla-central/rev/22df3f4f6e66
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Assignee: nobody → jbeich
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.