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

Cannot build secp-sys 0.5 and 0.6 in same tree #489

Closed
apoelstra opened this issue Oct 7, 2022 · 2 comments · Fixed by #490
Closed

Cannot build secp-sys 0.5 and 0.6 in same tree #489

apoelstra opened this issue Oct 7, 2022 · 2 comments · Fixed by #490

Comments

@apoelstra
Copy link
Member

It looks like we released a new major version of secp-sys with nothing but a MSRV bump and a cleanup of Ord. It turns out we can't do this. Whenever we update secp-sys, even if we don't actually change the C code, we need to run revendor.sh to rename all the symbols.

Right now secp-sys 0.5 and secp-sys 0.6 expose the same symbols, gated by the same links field in secp256k1-sys/Cargo.toml. Cargo will refuse to build projects that contain both of them.

Unforunately the correct way to fix this -- renaming the symbols in secp-sys 0.6 -- would require a major version bump, to 0.7; which would then require a major version bump of the main secp library, of rust-bitcoin, etc etc.

We could do the symbol rename in a point release 0.6.1, yanking 0.6.0, which potentially will break people's code that depended on the original symbol names. I'm doubtful that such people exist, and if they do, I would hope they'd be understanding. cc @TheBlueMatt what do you think?

@TheBlueMatt
Copy link
Member

Yea, I don't know of any user who cares about the symbol names? It seems somewhat strange to be relying on the symbol names, so I don't see why we wouldn't just do an 0.6.1 and pretend it never happened.

@apoelstra
Copy link
Member Author

Cool, that was also my feeling. I'll open a PR.

apoelstra added a commit that referenced this issue Oct 12, 2022
91f1096 secp-sys: change symbol names to `0_6_1` from `0_5_0` (Andrew Poelstra)

Pull request description:

  Needed to build secp-sys 0.5 and secp-sys 0.6 in the same tree. Fixes #489.

  This PR can be reproduced by running

      ./vendor-libsecp.sh depend/ 0_6_1 a1102b1

  in the secp256k1-sys directory.

ACKs for top commit:
  elichai:
    tACK 91f1096

Tree-SHA512: 0ce5149c9c4b7b44592dec84f1a6348f62437e679c15300efe0e2cc55ced5746e6061c596c83e18428841efb7df07c5cb443a0fd81800dc2a05da9a4f7a07c1a
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

Successfully merging a pull request may close this issue.

2 participants