-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
Regression in rustls pkg-config detection #13200
Comments
/cc @Kangie |
Sorry! How does it behave with that patch applied? I was able to start building, but came up with this:
I suspect that's because rustls for gentoo is a bit old - I'm trying to package an updated version now. |
Ah yes, gentoo seems to be on librustls 0.10.0 but curl 8.7.0 was specifically ported to librustls >= 0.12.0 in #12989. |
Sure but https://github.com/rustls/rustls-ffi doesn't have any pkg-config files does it? where/what do you expect to provide rustls.pc file? |
let me try using cargo-ci to build rustls-ffi to gain pgkconfig. |
The recent 0.12.1 release has added cargo-c support that was contributed in rustls/rustls-ffi#274. The pkgconfig files are generated by cargo-c as part of the build. The issue also documents how to build it at the end. :) |
@kpcyrd does the fixed pkg-config detection work resolve the issue for you? (#13202).
And with rustls-ffi fixed for Gentoo.... Yes, this now builds for me with rustls as the only tls backend using 0.12.1. |
@kpcyrd do we get a thumbs up from you as well on this PR? |
Sorry for the late reply, it does indeed fix the build but curl is now linking to openssl for some reason (despite
It links to libssl in addition to librustls, in
I'm really bad at reading m4 unfortunately. |
Isn't that simply because libssh2 uses OpenSSL? |
libssh2 does indeed pull in libssl according it ldd, but the output above is from |
I can't see anything in the updated M4 that would cause that. Comparing an 8.6.0 build without any of the M4 changes to 8.7.1, both built with the following configure options:
I see:
Edit: I can be wrong - system libcurl. Oops! Updated results above... I don't see any libssl. It's family time for most of this weekend - I might take a deeper look next week if this is still unresolved. I had a bug to close so I backported this patch to 8.6.0 and 8.5.0 and tested in a musl chroot:
|
The previous pkg-config code would successfully detect rustls but did not set all appropriate variables and call the right macros to properly configure cURL. Closes: curl#13200
fixed some logic in the 'with path and pkgconf' section, where some variables could get set early but not related to this :) |
It seems there are further issues: rustls/rustls-ffi#407 Maybe we should consider reverting 647e86a and the followup changes. (There's way too much autotools in my life right now) |
Is there any plan for 8.7.2 after fixing this? |
I can't speak for the project but curl typically only release patch revisions for severe issues, distributions and other downstream users typically backport patches (like this) if they feel like it's something they need before the next official release. |
We have not decided to do an 8.7.2 patch release.
Our rough guidance documentation for doing "early releases" is here: https://github.com/curl/curl/blob/master/docs/EARLY-RELEASE.md |
Thanks! That makes sense. |
I did this
I tried to compile the latest curl release with the rustls TLS backend.
This is the error I get during configure:
pkg-config is correctly setup for librustls:
The configure options used are:
I noticed this is due to #13179, reverting 647e86a fixes the build.
Full configure output:
I expected the following
The build passes without reverting any commits.
curl/libcurl version
curl 8.7.1
operating system
Arch Linux
The text was updated successfully, but these errors were encountered: