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

Crate failed to build #23

Closed
onur opened this issue Aug 26, 2016 · 432 comments
Closed

Crate failed to build #23

onur opened this issue Aug 26, 2016 · 432 comments
Labels
C-bug Category: This is a bug

Comments

@onur
Copy link
Member

onur commented Aug 26, 2016

Docs.rs may have failed to build some crates for various reasons (missing dependency on build machine or bad configuration etc).

You can report them into this issue.

@azerupi
Copy link

azerupi commented Aug 26, 2016

@onur
Copy link
Member Author

onur commented Aug 26, 2016

There is a problem on crates that have url-0.5.9 dependency. If you check the build log cargo is returning error with: url-0.5.9/Cargo.toml:14:3 expected a newline after table definition. This is a warning when we use standalone cargo, but it is returning an Err as a library. I wasn't able to figure out how to bypass this.

@azerupi
Copy link

azerupi commented Aug 26, 2016

Indeed, I have seen this warning in my own crates too before. I am not sure there is a way around it, except maybe using a fork of url-0.5.9 with the fix and using Cargo replace. I wouldn't consider that a solution though 😉

I have also seen crates depending on compiler internals that did not compile with the particular nightly version used. diesel_codegen for example. But I guess making this work is a non-goal.

@dimbleby
Copy link

https://docs.rs/crate/c-ares-sys/ (and as a result, https://docs.rs/crate/c-ares/ too).

Need to install libtool to compile the C library being wrapped.

Or, install c-ares directly so that we find the package and don't need to compile our own version - either is supposed to work.

@cuviper
Copy link
Member

cuviper commented Aug 26, 2016

https://docs.rs/crate/probe/ appears to have only attempted a few older versions, which don't work with current nightly, but the current 0.1.6 should be fine.

@onur
Copy link
Member Author

onur commented Aug 27, 2016

@cuviper thanks for reporting. Looks like docs.rs returned IoError when trying to build probe 0.1.4+. I'll fix it tomorrow morning.

@diwic
Copy link

diwic commented Aug 27, 2016

First - cool stuff! :-)

Second, about https://docs.rs/crate/dbus/0.3.4

Package dbus-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing 'dbus-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'dbus-1' found

https://docs.rs/crate/alsa/0.1.2 fails with the same error, but missing alsa.pc instead of dbus-1.pc.

Is there some way for me as crate author to indicate that docs.rs needs to install these before compiling my crates? Because this seems like it's not going to scale very well as the number of crates grow with the fast-growing Rust ecosystem...

@lucab
Copy link

lucab commented Aug 27, 2016

Thanks for running this service!

I noticed that systemd crates fails to build because of missing C development files: https://docs.rs/crate/systemd/0.0.10

This requires libsystemd-dev (or equivalent) on the building machine.

By the way, what is the OS of the building environment here? Does it have any package manager that could be re-used to install system dependencies on demand? I'm thinking about using the metadata table to encode this information to drive an external package manager.

@onur
Copy link
Member Author

onur commented Aug 27, 2016

@cuviper for some reason cargo is not generating any documentation when we use target option with your crate. I fixed the IoError in docs.rs, probe is available now, but only default platform worked.

@diwic dbus and alsa building fine now.

@lucab docs.rs is using Debian. I am planning to add docs.rs metadata table to Cargo.toml, so people can define extra features and system dependencies.

BTW I installed systemd development files but looks like systemd crate (or one of its dependency) doesn't work with recent nightly.

@nagisa
Copy link
Member

nagisa commented Aug 28, 2016

@onur I see you’ve somehow ended up running build.rs stuff when generating documentation. That’s generally unnecessary for majority of crates (notable exceptions are the stuff which use syntex/lalrpop-like scheme to generate code) and plain rustdoc should generate documentation for these crates just fine without any of the dependency libraries existing.

@onur
Copy link
Member Author

onur commented Aug 28, 2016

@nagisa I am not sure how to achieve that but I am using Cargo::ops::compile_pkg to generate documentation. This function is building docs.

@nagisa
Copy link
Member

nagisa commented Aug 28, 2016

@onur I filled a rust-lang/cargo#3053.

@onur onur added the C-bug Category: This is a bug label Aug 29, 2016
@hoodie
Copy link

hoodie commented Aug 30, 2016

https://docs.rs/crate/notify-rust/3.1.1 failed to build, due to the same problems as dbus is there a way to manually trigger rebuilding?

@onur
Copy link
Member Author

onur commented Aug 30, 2016

@hoodie docs.rs has rebuilt every version of notify-rust.

I was planning to add a button to automate rebuild requests but I changed my mind. People can abuse this kind of feature.

@hoodie
Copy link

hoodie commented Aug 30, 2016

Perhaps there is a way to authenticate as the crate owner via github?

@msierks
Copy link

msierks commented Sep 1, 2016

@onur
Copy link
Member Author

onur commented Sep 1, 2016

@msierks lua crate is looking for lua 5.3.3, and Debian only have lua 5.3.1. There is not much I can do in this case.

@hoodie
Copy link

hoodie commented Sep 1, 2016

this raises the question, do you build each crate completely or just run cargo doc? And if the latter, does cargo doc really need to have all build dependencies? This looks like a potential upstream improvement. Does it @steveklabnik?

@onur
Copy link
Member Author

onur commented Sep 1, 2016

@hoodie cargo doc is building crate first.

@msierks
Copy link

msierks commented Sep 1, 2016

@onur hmm, well it appears the next release rust-lua will have lua 5.3.3 bundled with it. Someone correct me if I'm wrong.

@steveklabnik
Copy link
Member

And if the latter, does cargo doc really need to have all build dependencies?

Yes, because in order to generate docs, it has to build the library, thanks to things like cfg.

@bluss
Copy link
Member

bluss commented Sep 6, 2016

Thanks for making a great service. https://docs.rs/crate/nodrop-union/0.1.8 simply needs a newer nightly to build. Will it be retried automatically?

@onur
Copy link
Member Author

onur commented Sep 6, 2016

@bluss currently there is no way to trigger rebuilds automatically. I'll upgrade rustc to latest nightly tomorrow.

@dimbleby
Copy link

dimbleby commented Sep 6, 2016

Any update on this?

@onur
Copy link
Member Author

onur commented Sep 7, 2016

@bluss nodrop-union have docs now.

@dimbleby sorry I didn't see your first message, c-ares-sys and c-ares should work fine now.

@dimbleby
Copy link

dimbleby commented Sep 7, 2016

Great, many thanks!

@Robbepop
Copy link

docs.rs didn't recognize that I updated my crate Prophet from 0.0.1 to 0.0.2. It is an important update since many things (also documentation) have changed and because I yanked the old version.
docs.rs didn't list my crate in its recent released list, so I guess it was dropped or simply missed.
Is there anything I can do? At the moment I heavily depend on the great documentation generation of docs.rs. :)

@onur
Copy link
Member Author

onur commented Sep 12, 2016

sorry @Robbepop, I think I accidentally removed prophet from build queue while I was trying to remove google-* crates because of #46 yesterday. It is fixed now.

@KenSuenobu
Copy link

Looks like the crate for glfw is failing to build. Did you guys not install cmake?

@mcobzarenco
Copy link

Also blingfire is failing because cmake is missing.

@hlb8122
Copy link

hlb8122 commented Aug 9, 2019

https://docs.rs/crate/bitcoin-zmq/0.1.0/builds
fails to compile due to libzmq3-dev missing?

@2ndTaleStudio
Copy link

hey there,
my crate: https://docs.rs/crate/ruspiro-boot/0.1.1 failed to build as I've set the default target to be "armv7-unknown-linux-gnueabihf", and the log fail complains about not installed compiler?:
stderr: "\n\nerror occurred: Failed to find tool. Is `arm-linux-gnueabihf-gcc` installed?

The Cargo.toml part to control doc.rs behaviour:

[package.metadata.docs.rs]
all-features = true
default-target = "armv7-unknown-linux-gnueabihf"
rustc-args = [
    "-C target-cpu=cortex-a53",
    "-C target-feature=+a53,+fp-armv8,+v8,+vfp3,+d16,+thumb2,+neon"
    ]

@dtolnay
Copy link
Member

dtolnay commented Aug 12, 2019

This build failed due to hitting rust-lang/rust#61804:
https://docs.rs/crate/syn-next/1.0.0-rc3/builds/178036

It looks like the build was with rustc 1.38.0-nightly (95b1fe560 2019-07-20). Would it be possible to update the nightly to pull in the fix for that bug? It was fixed in rust-lang/rust#62086 in nightlies newer than 2019-07-28.

@najamelan
Copy link

rustc 1.38.0-nightly (95b1fe560 2019-07-20) also fails to build futures-preview 0.3.0-alpha.18 and crates that depend on it, for issues unrelated with the above mentioned ICE, so an update of the nightly would be great!

@najamelan
Copy link

I see the rustc version has been updated, but it looks like crates that have failed before were not rebuilt after the update. (https://docs.rs/crate/futures-io-preview/0.3.0-alpha.18)

@cecton
Copy link

cecton commented Aug 31, 2019

error[E0514]: found crate `bitvec` compiled by an incompatible version of rustc
  --> /home/cratesfyi/.cargo/registry/src/gh.neting.cc-1ecc6299db9ec823/mbrman-0.1.0/src/lib.rs:72:5
   |
72 | use bitvec::prelude::*;
   |     ^^^^^^
   |
   = help: please recompile that crate using this compiler (rustc 1.39.0-nightly (bea0372a1 2019-08-20))
   = note: the following crate versions were found:
           crate `bitvec` compiled by rustc 1.36.0 (a53f9df32 2019-07-03): /home/cratesfyi/cratesfyi/debug/deps/libbitvec-037542c063cb88fa.rmeta

error: aborting due to previous error

(logs)

I got this error but I cannot reproduce locally using rustc 1.39.0-nightly (4295eea90 2019-08-30)

@nbdd0121
Copy link

nbdd0121 commented Sep 1, 2019

@driftluo
Copy link

driftluo commented Sep 3, 2019

https://docs.rs/crate/tentacle/0.2.4
https://docs.rs/crate/tentacle-secio/0.1.10
https://docs.rs/crate/tentacle-ping/0.3.6
https://docs.rs/crate/tentacle-identify/0.2.7
https://docs.rs/crate/tentacle-discovery/0.2.6

These libraries have encountered a problem. They all have 2 features to choose from, but they can't choose all or not noe. The default selection is empty. I don't know how this is expressed in toml metadata, so the doc generation for these libraries has failed.

#[cfg(all(feature = "flatc", feature = "molc"))]
compile_error!("features `flatc` and `molc` are mutually exclusive");
#[cfg(all(not(feature = "flatc"), not(feature = "molc")))]
compile_error!("Please choose a serialization format via feature. Possible choices: flatc, molc");

I know how to config it now. https://docs.rs/about

@agerasev
Copy link

Hi, thank you for running Docs.rs!

https://docs.rs/crate/clay-core/0.1.0

The build failed due to error: could not find `format_args` in `core` while building ocl. The cause might be similar to rust-lang/rust#63687.

Maybe the problem is in rustc 1.39.0-nightly (618768492 2019-09-05) used by Docs.rs. I cannot reproduce this error locally using rustc 1.39.0-nightly (f0b58fcf0 2019-09-11).

@pietroalbini
Copy link
Member

@nthend updated the nightly on docs.rs and manually queued a build for your crate!

@Riateche
Copy link

Hi! It'd be nice to have docs for my Qt crates (qt_core, qt_gui, qt_widgets, qt_ui_tools, qt_3d_core, qt_3d_render, qt_3d_input, qt_3d_logic, qt_3d_extras, qt_charts, qt_qml) on docs.rs. Can you install the corresponding Qt development packages in your build environment? Qt >= 5.9.7 will do.

Ideally, the RITUAL_RUSTDOC=1 environment variable should also be set. This will enable documentation of all available items, independent on the current Qt version. This is basically a hack to achieve the behavior of #[cfg(rustdoc)] that is not available on stable, unfortunately. Or, if you don't want to pass ritual-specific variables, you may set an env var like IS_DOCS_RS=1, and I'll read it in my build script.

Build log

@Hexilee
Copy link

Hexilee commented Sep 16, 2019

As this docs building.

It's obvious that docs.rs does not execute proc-macro-attribute, because each async fn in trait will be transferred into a normal fn by proc-macro-attribute.

Cloning this repo and executing cargo doc --open --all-features locally works well.

@rodrimati1992
Copy link

rodrimati1992 commented Oct 1, 2019

abi_stable and abi_stable_derive are not in the queue/Recent failures/recent releases lists,even though updates of other crates released afterwards were built.

Update
While the 0.7.0 version wan't built,the 0.7.1 built just fine.

@manuthambi
Copy link

I created a new crate big_enum_set. But the docs are not showing up on docs.rs. cargo doc works locally.

Perhaps related?

@jeremystucki
Copy link

We have the same issue with mockiato. No build has been started for version 0.9.4.

@Cerber-Ursi
Copy link

Fresh build of proc-macro2 has failed too. From the log, it looks like some misconfiguration in the docker create command - the argument RUSTFLAGS=--cfgprocmacro2_semver_exempt seems to be incorrect. It comes from the following section of Cargo.toml:

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "procmacro2_semver_exempt"]

I wasn't able to find another example yet, but possibly this will crash docs building for any crate with similar configuration.

@pietroalbini
Copy link
Member

@Cerberuser yep, that's indeed a bug in docs.rs. Opened a PR with a fix: #427. Once the PR is merged we will rebuild that crate.

@dignifiedquire
Copy link

pgp is failing: https://docs.rs/crate/pgp/0.2.2/builds/187802, but cargo doc runs fine locally

@cecton
Copy link

cecton commented Oct 9, 2019

How do I know actually if it's a doc-rs problem or not? A single issue on GitHub seems pretty inconvenient for seeking some help...

@pietroalbini
Copy link
Member

@dignifiedquire rebuilt pgp 0.2.2! It was a docs.rs error, but it was fixed a few days ago.

@Cerberuser rebuilt proc-macro2 as well after the fix for the issue landed, but there was a compilation error: https://docs.rs/crate/proc-macro2/1.0.5/builds/190515.

@jeremystucki
Copy link

jeremystucki commented Oct 10, 2019

@pietroalbini Could you trigger a build for mockiato = "0.9.4" as well?

@Cerber-Ursi
Copy link

@pietroalbini Couldn't reproduce the failure myself, so pinging the author - cc @alexcrichton

@pietroalbini
Copy link
Member

@jeremystucki queued both the failed mockiato versions (0.9.3 and 0.9.4) again!

@pietroalbini pietroalbini unpinned this issue Oct 10, 2019
@rust-lang rust-lang locked and limited conversation to collaborators Oct 10, 2019
@pietroalbini
Copy link
Member

Hi everyone!

It became apparent to us that this issue doesn't really scale: people posting here start receiving useless notifications and need to manually unsubscribe from the thread, and it's hard for us to keep track of which crates are fixed and which need action from our end.

We now recommend everyone to create a separate issue for each crate, and to aid that we added issue templates for broken crates and sandbox limit increase requests, changing the website to point to them. This issue will be also locked to prevent further reports here.

If your crate still fails please open a new issue and we'll look into it!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C-bug Category: This is a bug
Projects
None yet
Development

No branches or pull requests