-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
libcurl problems with libgit2 on master #13472
Comments
Can you try changing the branch and sha in |
As I wrote in #13399, some connectivity problem raised an error which was overwritten by an incorrect SSL shutdown. SSL shutdown now is fixed a week ago in @@ -179,16 +179,19 @@ immutable FetchOptions
prune::Cint
update_fetchhead::Cint
download_tags::Cint
+ custom_headers::StrArrayStruct
end
FetchOptions(; callbacks::RemoteCallbacks = RemoteCallbacks(),
prune::Cint = Consts.FETCH_PRUNE_UNSPECIFIED,
update_fetchhead::Cint = one(Cint),
- download_tags::Cint = Consts.REMOTE_DOWNLOAD_TAGS_AUTO
+ download_tags::Cint = Consts.REMOTE_DOWNLOAD_TAGS_AUTO,
+ custom_headers::StrArrayStruct=StrArrayStruct()
) = FetchOptions(one(Cuint),
callbacks,
prune,
update_fetchhead,
- download_tags)
+ download_tags,
+ custom_headers)
immutable CloneOptions
version::Cuint |
@tkelman Thanks. I just tried that and then built Julia with @wildart's patch. Sure enough, I now see a more informative error message ("Connection timed out"). The problem is that under Julia 0.3.11 on the same machine with the same git configuration, |
It's almost certainly libgit2. You could try the release-0.4 branch (or rc4 binaries) which would be closer to master but without using libgit2 for Pkg, but it would most likely be consistent with 0.3.x. @wildart do you know if there some debug env var or build option that could get libgit2 to be more chatty about what's going on? |
As mentioned in #13399, I'm behind a firewall and I have
in my ~/.gitconfig, so I guess I'm suspicious that somehow Julia 0.3.11 is seeing my .gitconfig while Julia master is not. |
@tkelman Okay, I'll see what happens with v0.4.0-rc4. |
Confirming that |
SSL_shutdown:uninitialized
error with Pkg.init()
on master
Ah, proxy. If
|
@wildart Aha! I did not have libcurl. A message about this goes by while libgit2 builds:
but I didn't realize it was a problem. Should libcurl be listed as a dependency in https://github.com/JuliaLang/julia#required-build-tools-and-external-libraries, at least with a note saying that users behind a firewall need it? Unfortunately, on CentOS, after a seemingly successful |
You probably need |
I like how I'm apparently the first person in the world to try to use 0.5.0-dev behind a corporate firewall. (Edit: sorry, that came out more harshly than intended! I'm merely reflecting on the absurdity of a situation that involves using bleeding-edge Julia, but also involves the word "corporate". :) ) |
Thanks for being the guinea pig! 0.4.0 is imminent (like, later tonight if my currently running pkgeval jobs look good) so I think most people interested in stability have been working from release-0.4. We also only merged #11196 last week, so the issues aren't taking all that long to discover. |
@lkuper Appreciated |
Apparently this is why I couldn't compile Julia on windows on #13501.
This is a fresh Ubuntu 15 VM with this already applied:
Looking for libcurl I got this:
|
@felipenoris that's a different issue #13389, you need to install |
Just ran into this issue building on Scientific Linux 6 on a machine that's behind a proxy. As tkelman mentioned, the problem is due to the change in bb4eddc. Setting Commenting out the |
Though that would need to be tested to see if it would introduce a regression with respect to #12514 |
Or we could make the setting mac only. I'm not sure what the proxy situation is like on mac, whether libgit2 needs libcurl there. |
I needed to revert #12590 on both CentOS 7 and OS X to get libgit2 to find libcurl to get Pkg working behind our firewall. |
Bump. I also just needed to comment out the |
They will be, but they aren't yet (at least not by default). This same licensing problem means the libgit2 packaged in debian doesn't even support https - #17661. mbedtls would be a path to fixing that, if we can get it upstreamed. |
@mdcfrancis Having mbedtls used in Julia does not make Julia GPL. As you already know, this has been amply discussed elsewhere. Let's not restart this discussion here. |
@ViralBShah yes should not have brought that up here - mebdtls is apache, so no issue. |
@lkuper @mdcfrancis Would be great if you can try out the latest nightlies tomorrow, now that curl support is on master. |
Will build and test tomorrow. |
@ViralBShah I just tested against master and I can confirm that it works in my environment.
libcurl apears to be linking the system tls library is that expected ?
We may want to re-open this issue till it is backported - the automatic issue closing based on commit message seems to have closed the issue. |
@mdcfrancis How come your @ViralBShah It looks like |
It looks like unbuntu is shipping gnutls |
Needs a bit more work on top of #17783 to actually make sure the right things are getting linked. Linking to gnutls is not what we want, we should be ensuring curl doesn't link to system libraries so our binaries are self-contained. |
I truncated the ldd, here is the full one
|
This is great progress though, as now the proxy support and ssh for libgit2 are working with combined internal and external repositories. |
Surely, we didn't what
|
I guess that's fine for now while we still have those, but our intent was to have it link against mbedtls for consistency across both osx and linux. Clearly we're not invoking curl's configure script in a specific enough way for it to do what we actually want it to do. |
I find |
You used configure to build curl. |
Ah then it was libgit2 that was using cmake to detect curl. |
@ViralBShah I'm building master now and ought to be able to try it out tomorrow. Have to rebuild LLVM first. :) |
Just built master and can confirm that |
Kudos to @ViralBShah as well. |
@lkuper Could you please guide me on how you got the latest changes working? Edit- I think it was something related to permission issue. I got it fixed by switching to root. |
BTW, is there any workaround for this issue on 0.5 if one is not building Julia from source? |
Can you be more specific? What's the issue exactly? |
@tkelman I installed Julia 0.5.1 on Ubuntu 16.04 via ppa:staticfloat/juliareleases. I ran
The above fix involves modifying |
Don't use the ppa, that's not been recommended for a long time. Try with the generic linux binaries. |
@tkelman Thanks for the heads up; that fixed it! I had no idea the PPA was no longer recommended. |
I'm seeing the following issue when trying to use
Pkg.init()
on a fresh build of master:I started seeing this after pulling and rebuilding to fix the libgit2 SSL certificate issue in #13399. I'm now seeing this error instead of the certificate error. There's more discussion on that bug.
This is on Ubuntu 14.04, and I have
libssl-dev
installed. I've already triedmake -C deps distclean-libgit2
. I even did amake distcleanall
to make extra sure.Before I deleted my
~/.julia/v0.5
directory (because I hoped that doing that and runningPkg.init()
might solve the problem), I was seeing a similar error message fromPkg.update()
.I'm also having the same problem on CentOS with
openssl-devel
installed.The text was updated successfully, but these errors were encountered: