Skip to content

Conversation

@nymius
Copy link
Contributor

@nymius nymius commented Dec 12, 2025

These changes bump the version of the secp256k1-sys internal crate to version 0.13.0.
It includes all the changes from libsecp256k1 at v0.7.0 and a possible fix for the linking issues related to the change the pointers secp256k1_context_static and secp256k1_context_no_precomp to const pointers.

Fixes #878

To implement fixes for breaking changes in upstream libsecp256k1
library, first bump it to its latest released version.

Ran script with
  ./vendor-libsecp.sh -f v0.7.0
This change was introduced to unset SECP256K1_API variable and allow the
management of symbol visibility through rust-cc. But its effect rather
than unset the variable was setting it to an empty value, missing the
intended behavior, and in the latest release, disabling the defaults
used for the library to link symbols right.

Also, the latest libsecp256k1 release, v0.7.0, introduces a change that
allows the control of the visibility of certain symbols through the
`-fvisibility=<value` flag, allowing the change of visibility without
having to fiddle with SECP256K1_API variable.
@apoelstra
Copy link
Member

Can you update the lockfiles along with this version bump? You can run just ulf or ./contrib/update-lock-files.sh to do this.

Or you can explicitly run

cp Cargo-minimal.lock Cargo.lock
cargo check # this updates the lockfile immediately, so you can Ctrl+C it once it starts
cp Cargo.lock Cargo-minimal.lock

cp Cargo-recent.lock Cargo.lock
cargo check
cp Cargo.lock Cargo-recent.lock

which is the same as what the contrib script does, it's just that I habitually do this so much that I never remember the contrib script is there..

Executed `just ulf`.

Candidate to squash with dab3f76.
@tcharding
Copy link
Member

Needs a changelog entry please @nymius. Do we want to cut a secp256k1 0.33.0 release then @apoelstra?

@apoelstra
Copy link
Member

utACK e8c3ea5

Yes, please squash the lockfile update with the vendor update. (I know this mixes a big mechanical change with a small non-mechanical one, but that's the process we have here unfortunately.)

I'm surprised to see that this doesn't cause any of the linker problems we saw in #878.

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 this pull request may close these issues.

Duplicated symbol error after compiling against libsecp256k1@v0.7.0

3 participants