Skip to content

Conversation

fxcoudert
Copy link
Contributor

This will be updated following the merging of JuliaPackaging/Yggdrasil#4942

@fxcoudert fxcoudert marked this pull request as ready for review May 24, 2022 18:13
@mbauman mbauman added backport 1.6 Change should be backported to release-1.6 backport 1.8 Change should be backported to release-1.8 labels May 24, 2022
Comment on lines 1 to 2
LibCURL-fd8af649b38ae20c3ff7f5dca53753512ca00376.tar.gz/md5/f082283e6a35fcba5b63c9a6219d8003
LibCURL-fd8af649b38ae20c3ff7f5dca53753512ca00376.tar.gz/sha512/3bea5fa3fb6d29651daa923ae6bcb8eeb356ab9f2a1f3e005a6b746b617b0cf609aed4cadda4181783959840873c04b18e34e45ab973549169d19775a05ea01e
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new file is missing these two lines, and the failure at the end of the build job I guess is related to this. But I don't know how these two checksums should come from.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wondered what to do with stdlib/LibCURL.version, but I have how idea how it relates to the rest.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, LibCURL.jl is the standard libraries whose source code is pulled from an external repository:

LIBCURL_BRANCH = master
LIBCURL_SHA1 = fd8af649b38ae20c3ff7f5dca53753512ca00376
LIBCURL_GIT_URL := https://github.com/JuliaWeb/LibCURL.jl.git
LIBCURL_TAR_URL = https://github.com/api/repos/JuliaWeb/LibCURL.jl/tarball/$1
I guess you may need to simply restore these two lines then.

@fxcoudert
Copy link
Contributor Author

I have restored the two checksum lines, but running make -f contrib/refresh_checksums.mk -j curl again will remove them, so I am not sure this is the right solution for the long term.

@KristofferC
Copy link
Member

KristofferC commented May 25, 2022

Musl error (https://buildkite.com/julialang/julia-master/builds/12338#f932a979-6bf1-41c1-98f2-fb2e20a3f5c2/466-2043) looks real:

LoadError("sysimg.jl", 19, LoadError("/cache/build/default-amdci5-5/julialang/julia-master/usr/share/julia/stdlib/v1.9/Downloads/src/Downloads.jl", 1,
LoadError("/cache/build/default-amdci5-5/julialang/julia-master/usr/share/julia/stdlib/v1.9/Downloads/src/Curl/Curl.jl", 1,
ErrorException("could not load library \"libcurl.so\"\nError loading shared library libgssapi_krb5.so.2:
No such file or directory (needed by /cache/build/default-amdci5-5/julialang/julia-master/usr/bin/../lib/libcurl.so)"))))

@giordano
Copy link
Member

@tp2750 was interested in adding support for kerberos, but didn't follow up with adding the stdlib to Julia

@tp2750
Copy link

tp2750 commented May 25, 2022

@tp2750 was interested in adding support for kerberos, but didn't follow up with adding the stdlib to Julia

I'm not clear on what I need to do.

My interest is to have a kerberos enabled libCurl in Yggdrasil. Apparently this has some interaction with the libCurl in Julia itself, but honestly I don't have full understanding of these interactions.
I'll be happy to do what is needed, to the best of my abilities.

@fxcoudert
Copy link
Contributor Author

If I understand well, either kerberos is added to the dependencies of Julia on linux and freebsd (but what is the benefit for that extra dependency), or JuliaPackaging/Yggdrasil#4774 is reverted.

@tp2750
Copy link

tp2750 commented May 26, 2022

what is the benefit for that extra dependency

The benefit of having a Kerberos enabled libCurl in Julia is to be able to access web services behind a Kerberos authentication.
We use that a lot in our organization, but apparently it is not a common configuration

After adding Kerberos support to LibPQ.jl I thought it would be equally easy to fix it for libCurl. Apparently this is not the case, as Julia carries it's own copy of libCurl. I will be happy to try and fix this, but I need some guidance, as I do not fully understand how these things interact.

After the merge of JuliaPackaging/Yggdrasil#4774 I did a fresh build of Julia main and could see that Kerberos support in libCurl was working, so I thought all was good.

@fxcoudert
Copy link
Contributor Author

I do not know what the Julia policy is, or who can make a decision here, but this is blocking the update, while there are 7 known vulnerabilities in curl 7.81.0: https://curl.se/docs/vuln-7.81.0.html

@giordano
Copy link
Member

I'll revert kerberos in Yggdrasil to unlock things here, but I won't be able to do it before tomorrow or Saturday.

@KristofferC KristofferC mentioned this pull request May 28, 2022
36 tasks
@giordano giordano added building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries labels May 28, 2022
This new build doesn't depend on Kerberos
@fxcoudert
Copy link
Contributor Author

Thanks @giordano this looks good to go now

@KristofferC KristofferC merged commit 28d9326 into JuliaLang:master May 29, 2022
KristofferC pushed a commit that referenced this pull request May 29, 2022
This new build doesn't depend on Kerberos

Co-authored-by: Mosè Giordano <[email protected]>
(cherry picked from commit 28d9326)
KristofferC pushed a commit that referenced this pull request May 29, 2022
This new build doesn't depend on Kerberos

Co-authored-by: Mosè Giordano <[email protected]>
(cherry picked from commit 28d9326)
@KristofferC KristofferC mentioned this pull request May 29, 2022
45 tasks
@KristofferC KristofferC added the security System security concerns and vulnerabilities label May 29, 2022
@fxcoudert fxcoudert deleted the curl branch May 29, 2022 21:05
@KristofferC KristofferC removed backport 1.8 Change should be backported to release-1.8 backport 1.6 Change should be backported to release-1.6 labels Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries security System security concerns and vulnerabilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants