Skip to content
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

Bump (Lib)CURL to 7.81.0 #4200

Merged
merged 4 commits into from
Feb 10, 2022
Merged

Conversation

mkitti
Copy link
Contributor

@mkitti mkitti commented Jan 7, 2022

URL has changed permanently from curl.haxx.se to curl.se. Also note to depends on MbedTLS 2.28 in this script.

I would consider holding this for a bit as some potential issues between LibCURL 7.81 and Julia are investigated:
JuliaLang/julia#43682

However, I have built Julia master with curl 7.81.0 and MbedTLS 2.28 just fine locally on Linux.

@giordano giordano added the julia 💜 ❤️ 💚 Builders and issues related to Julia and its dependencies label Jan 8, 2022
@mkitti
Copy link
Contributor Author

mkitti commented Jan 8, 2022

After the investigation outlined in JuliaLang/Downloads.jl#172, I think we are good to merge this if there are no other objections.

@giordano
Copy link
Member

giordano commented Jan 8, 2022

You need first to make this work at all 🙂

@mkitti
Copy link
Contributor Author

mkitti commented Jan 8, 2022

I think the correct configuration option is --without-libgsasl. I'm not sure where --disable-libgsasl came from:
#3575 (comment)

@mkitti
Copy link
Contributor Author

mkitti commented Jan 9, 2022

I believe the test is misfiring for some reason.

https://github.com/curl/curl/blob/18480f71be0685ee6becaa85c762c6b7956a2402/acinclude.m4#L1924-L1955

dnl this test is of course not sensible if we are cross-compiling!

So the problem is that on LibCURL-x86_64-linux-musl, it has failed to figure out that is cross-compiling.

@mkitti
Copy link
Contributor Author

mkitti commented Jan 9, 2022

or perhaps this matches the description of the actual host... so we are not actually cross compiling

@giordano
Copy link
Member

giordano commented Jan 9, 2022

When everything else fails, read the documentation

The best recommendation is to access the build environment and carefully read the log files generated by the build systems: it is not uncommon that build systems would only print to screen misleading error messages, and the actual problem is completely different (e.g. "library XYZ can't be found", when the problem instead is that the command they run to look for library XYZ fails for unrelated reasons, for example for a wrong compiler flag used in the check).

If you had entered the build environment and read the config.log file you'd have found

configure:34022: cc -std=gnu11 -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers  -I/workspace/destdir/include -I/workspace/destdir/include -I/workspace/destdir/include -I/workspace/destdir/include   -L/workspace/destdir/lib -L/workspace/destdir/lib -L/workspace/destdir/lib -L/workspace/destdir/lib  conftest.c -lnghttp2  -lssh2 -lssh2 -lmbedtls -lmbedx509 -lmbedcrypto -lz  >&5
/opt/x86_64-linux-musl/bin/../lib/gcc/x86_64-linux-musl/4.8.5/../../../../x86_64-linux-musl/bin/ld: warning: libmbedtls.so.13, needed by /workspace/destdir/lib/libssh2.so, not found (try using -rpath or -rpath-link)
/opt/x86_64-linux-musl/bin/../lib/gcc/x86_64-linux-musl/4.8.5/../../../../x86_64-linux-musl/bin/ld: warning: libmbedcrypto.so.5, needed by /workspace/destdir/lib/libssh2.so, not found (try using -rpath or -rpath-link)
configure:34022: $? = 0
configure:34022: ./conftest
Error loading shared library libmbedtls.so.13: No such file or directory (needed by /workspace/destdir/lib/libssh2.so.1)
Error loading shared library libmbedcrypto.so.5: No such file or directory (needed by /workspace/destdir/lib/libssh2.so.1)
configure:34022: $? = 127
configure: program exited with status 127

That's because our libssh2 build links to mbedtls 2.24, which is incompatible with 2.28. Before rebuilding libcurl you must rebuild libssh2

@jeremiahpslewis
Copy link
Contributor

@giordano Thank you! what is the best way to get the config.log file out of the docker container (on a Mac) and read the config.log file in vscode?

@giordano
Copy link
Member

giordano commented Jan 9, 2022

Open it?

@jeremiahpslewis
Copy link
Contributor

But it's in the docker container, so it doesn't get output to / isn't accessible by the local file system, right?

@mkitti
Copy link
Contributor Author

mkitti commented Jan 9, 2022

Of course.

@giordano
Copy link
Member

giordano commented Jan 9, 2022

If you build with

julia build_tarballs.jl --debug --verbose <platform>

as suggested in the very first page of the documentation, when something fails you get dropped inside the build environment, where you can browse around and open all the files you want.

@jeremiahpslewis
Copy link
Contributor

jeremiahpslewis commented Jan 9, 2022

@giordano I'm with you, I use the build environment interface often, but find it more comfortable to scan through a file in the VSCode file viewer...maybe the config.log file could be written to the build/*/metadir directory to surface the file more directly?
Screen Shot 2022-01-09 at 12 18 33

@giordano
Copy link
Member

giordano commented Jan 9, 2022

Have you seen the build/ directory created in your current directory when you build? That contains everything which is mounted in the build environment.

@jeremiahpslewis
Copy link
Contributor

Have you seen the build/ directory created in your current directory when you build? That contains everything which is mounted in the build environment.

Thanks!! File was not showing up in the file picker so I assumed it didn't exist.

@nalimilan
Copy link
Member

Can this be merged? It's needed by Julia for JuliaLang/julia#43250.

@giordano
Copy link
Member

It's failing, so no, it can't be merged

@mkitti
Copy link
Contributor Author

mkitti commented Feb 10, 2022

I will take a look at this in a moment.

@mkitti
Copy link
Contributor Author

mkitti commented Feb 10, 2022

Rerun ci, please

@giordano giordano closed this Feb 10, 2022
@giordano giordano reopened this Feb 10, 2022
@mkitti
Copy link
Contributor Author

mkitti commented Feb 10, 2022

I see green checks from my phone. Hopefully it will look the same when I get my laptop out.

@giordano giordano merged commit 1754c66 into JuliaPackaging:master Feb 10, 2022
simeonschaub pushed a commit to simeonschaub/Yggdrasil that referenced this pull request Feb 23, 2022
* Bump (Lib)CURL to 7.81.0

* Set CURL v7.81 compat with Julia 1.8

* Update L/LibCURL/build_tarballs.jl

* Correct option to --without-libgsasl

Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
julia 💜 ❤️ 💚 Builders and issues related to Julia and its dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants