-
Notifications
You must be signed in to change notification settings - Fork 109
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
1.29.0: failure to build against libssl-dev 3.x #312
Comments
It sounds like CI passes becasue it doesn't do a full build of cargo/rustc - it just does a smoke test of libstd |
@thepowersgang fair enough. Is this something you're interested in fixing? Looks like there are ways to work around the libssl incompatiblities (although I'm not completetly sure of the ramifications of doing so yet). Otherwise, does it make sense to document what is / isn't expected to work somewhere? I'm happy to work on either. |
Hmm... it could be fixable by patching I've started ignoring 1.19 when building on linux due to the openssl issues, so I guess it's time to do the same for 1.29. |
I'm actually hitting the same issue when building for 1.54... So it seems we would either need mrustc to support newer even newer rust or we need to build openssl 1.1 locally (perhaps outside the standard prefix). (My version of openssl is 3.0.10) |
Solution! Enable the |
That probably works once we have cargo built. Presumably, in the bootstrap step when we only have minicargo available, we need to first manually build openssl from |
minicargo is perfectly capable of running build scripts, and thus it should be able to enable that feature and build. |
Update - Ran a test while doing other tests, and unfortunately there's a bug in how minicargo handles features (it doesn't recursively activate features). |
Fixed the cargo bug in the above commit. 1.29 can build the vendored openssl, but hits link errors for some reason - likely something like libgit2/libssh/curl trying to use system SSL |
Looked like vendored openssl is (maybe) working for 1.39/1.54 - but 1.29 is very unhappy due to linking issues with libssh. |
Oh that's still very useful. 1.29 has very long bootstrap chain to current version anyway.. |
Hmm, partial success, worked on x86_64 but on aarch64:
|
Likely needs |
Hopefully fixed in the above |
I can now build cargo 1.54 on aarch64 again. |
Closing as the underlying issue isn't really fixable, and TBH - 1.29 is too old to really build for anything other than a test. |
Using master at af16084. Inside a Ubuntu Mantic container (libssl-dev 3.0.9).
Note that Ubuntu Jammy onwards ships with a 3.x version of libssl dev, and Jammy is currently the version used in the CI here (ubuntu-latest), so it's not clear to me why the CI build are passing? I can't see any additional libssl installation/building 1.1 from source etc.
I've checked that builds work as expected inside a Ubuntu Focal container, which ships with libssl 1.1.
The text was updated successfully, but these errors were encountered: