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

cbindgen temporarily requires nightly #147

Closed
eqrion opened this issue Mar 9, 2018 · 3 comments
Closed

cbindgen temporarily requires nightly #147

eqrion opened this issue Mar 9, 2018 · 3 comments

Comments

@eqrion
Copy link
Collaborator

eqrion commented Mar 9, 2018

TL;DR cbindgen temporarily requires nightly because of dependencies and fixes are being investigated.

Due to updating to syn 0.12 which brought in a dependency on an internal compiler lib (rustc/libproc-macro), cbindgen stopped working outside of cargo run with:

dyld: Library not loaded: @rpath/libproc_macro-89628dcfdc0f6129.dylib
  Referenced from: /Users/rhunt/.cargo/bin/cbindgen
  Reason: image not found
fish: 'cbindgen' terminated by signal SIGABRT (Abort)

syn:0.12 was a big update that required many changes to cbindgen and added much better parsing and error messages, so downgrading back to 0.11 is not desirable.

To fix this, we forked syn and published snapshots of rustc/libproc-macro and used some other published snapshots of dependencies of rustc/libproc-macro. This works, but unfortunately requires nightly.

Since then proc-macro2 has been updated to have a feature to disable linking with rustc/libproc-macro which should fix this issue. syn and other users(?) of proc-macro2 will need to update for this to work. Right now syn is waiting for enough changes to justify a breaking change before doing this.

In the meantime we updated our fork of syn to use this flag and published 0.5.1 with it. Unfortunately for some reason this approach worked locally, but when run through cargo install the linking error is back. So that version has been yanked.

This is the current status of the issue, I'll post updates here. Apologies for any inconveniences this has caused.

@flukejones
Copy link

Darn. I was wondering why things were suddenly breaking in my stable builds.
What was the last version to be buildable on stable?

@eqrion
Copy link
Collaborator Author

eqrion commented Mar 12, 2018

@Luke-Nukem I believe that 0.4.3 is the last one buildable on stable.

@eqrion
Copy link
Collaborator Author

eqrion commented Mar 12, 2018

This has been resolved in 0.5.2.

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

2 participants