[MacPorts] #51516: MacPorts should use a bundled copy of a newer libcurl and SSL library rather than the OS X version
MacPorts
noreply at macports.org
Sun Jun 2 22:15:18 UTC 2024
#51516: MacPorts should use a bundled copy of a newer libcurl and SSL library
rather than the OS X version
--------------------------+--------------------------------
Reporter: ryandesign | Owner: macports-tickets@…
Type: enhancement | Status: new
Priority: Normal | Milestone: MacPorts Future
Component: base | Version:
Resolution: | Keywords:
Port: |
--------------------------+--------------------------------
Comment (by RJVB):
Replying to [comment:127 RJVB]:
> it could be very helpful for debugging purposes if there were a `curl
version` command in Pextlib, returning a list of relevant strings
describing the libcurl currently in use.
Dog with a bone ... couldn't resist whipping something up after all. `curl
version` returns a minimum list of relevant strings for the current task
at hand. It's not supposed to be of use beyond providing some debugging
information so I haven't bothered fetching more than the information that
was available from the earliest curl versions onwards.
BTW, the attentive reader will have noticed that my own "dedicated
libcurl" copy is still at v8.0.1, not at 8.7.1 as I must have claimed
somewhere.
Replying to [comment:129 catap]:
> Which includes modern OpenSSL.
>
> And this is quite deep hole.
Yes, and as I implied, one best avoided by using a different SSL backend
like GnuTLS, AT LEAST if we are NOT talking about a Pextlib built as a
port, so against dependencies from `$prefix`.
Pextlib also provides the functions for checksum calculation, rmd160 and
sha256. Those are taken from OpenSSL's libcrypto as installed in the
system, which could well be from OpenSSL 1.0 (and there's nothing wrong
with that for calculating just checksums, AFAICT).
Curl using the OpenSSL backend will link against the libssl from that
"modern OpenSSL" and libssl is linked against the matching libcrypto. I
have seen `port` crash when those two libcrypto versions get mixed in the
same binary. Took me a long time to figure out why both got loaded, too.
Once I did understand the fix was easy: build a libcurl that uses the
GnuTLS backend (like the system one on Ubuntu, btw).
--
Ticket URL: <https://trac.macports.org/ticket/51516#comment:130>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list