-
Notifications
You must be signed in to change notification settings - Fork 553
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
libjulia_jll 1.7 #3214
libjulia_jll 1.7 #3214
Conversation
71e360d
to
4484f14
Compare
@giordano @staticfloat @barche So this PR verifies what was said on Slack: that to build libjulia_jll 1.7, we either need to run Julia 1.7 on Yggdrasil, or else need some other new infrastructure that allows e.g. installing LLVM JLLs for 1.7 from Julia 1.6. So, how do we proceed? Anything I / "we" can do to help expedite this? We need this for a new Libjulia, and I am getting more and more reports by people who tried 1.7-beta2 and found that they couldn't use "my" packages (all boiling down to the CxxWrap issues). |
Note that I also tried to just build without any dependencies, on the theory that Julia builds this way on my machine, too, and is normally able to download most of what it needs. That didn't work, though, it failed compiling the Julia kernel because of some LLVm headers it couldn't find, see this log. But I wonder if this approach could be made to work anyway. Of course it's not nice to not declare all those JLLs as dependencies, but if it would allow us to get a first version of libjulia_jll 1.7 out, that would be enough to get going with CxxWrap etc.; and a "proper" libjulia_jll 1.7 could be done later. |
@fingolfin I can't edit that part on the web, can you adda another case here: https://github.com/JuliaPackaging/Yggdrasil/pull/3214/files#diff-29b8d08819b1a971a0a4f552117850f0569b1947bc3390d698455c6e3b7557b7R106 to use LLVM12? |
Yay! |
nice. Of course question remains whether it works. Also not optimal to call the prerelease / beta binary 1.7.0, but hey... I'll clean up the whole thing a bit. |
Also will re-enable the other platforms, we'll see... |
|
aarch64-apple-darwin and armv6l-* are basically the same issue, they are the "experimental" platforms. For macOS I think we use llvm unwind now? |
85e4d02
to
c7f6ce9
Compare
Trying to fix the x86 macos build now. Regarding the "experimental" arm platforms, should I just disable them (for now), so we can move forward? |
Hmm, seems Yggdrasil doesn't want to build my latest pushes? Don't see them under https://dev.azure.com/JuliaPackaging/Yggdrasil/_build either |
Wonder if this is related: https://status.dev.azure.com/_event/246338456 |
I saw that, but I don't think we use artifacts, also, that started 12 days ago, so I feel like it's unrelated |
I manually triggered https://dev.azure.com/JuliaPackaging/Yggdrasil/_build/results?buildId=12023&view=results for CUDA and this is now working. Let's see whether closing this pull request does the trick |
/AzurePipelines run |
Well, I don't know if it was thanks to me, but now everything started working. |
Azure Pipelines successfully started running 1 pipeline(s). |
ERROR: LoadError: KeyError: key UUID("47c5dbc3-30ba-59ef-96a6-123e260183d9") not found huh? |
@vchuravy @staticfloat can some of you please look into this? I don't have access 🙈 |
That UUID is |
Can you please point me directly to the log of the offending job? 🙂 |
The error comes from something like this running in julia 1.6 (there is a platform argument in the code but that doesn't make a difference):
LLVMLibUnwind_jll is a stdlib from the future for julia 1.6 and some of the code seems unable to deal with that (and it has changed quite a bit between 1.6 and current Pkg.jl master). |
2867136
to
2426717
Compare
Off-topic: in the macOS build, there are lots of warnings |
The macOS x86 build now proceeds a bit further, but dies like in this log
|
2426717
to
beb4b53
Compare
beb4b53
to
2ab3c84
Compare
@giordano ah thanks -- that patch did not apply anylong and I removed it, thinking "I'll see what happens if I do that", and then forgot about this when this PR took too long ;-). I've added a new equivalent patch, this time with a git commit message in it (borrowed from your PR) to indicate what it is about. |
2ab3c84
to
92b4edc
Compare
Seems all is building. However, there are a bunch of warnings that may need to be resolved. Also, I am not sure those Dependencies, as they are, are "right" / "what we want" ? Perhaps @vchuravy @giordano @staticfloat would you like to scrutinize this some more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good from my side.
The only question I had is why we don't list the version explicitly per dependency. E.g. if I try to rebuild libjulia 1.5, won't I get a version that is to new?
1805ad0
to
498196e
Compare
For most dependencies, it doesn't matter which version we get, as they do not affect the Julia ABI, and that's all that counts for this JLL. (That said, I wonder if not more of those deps should be turned into BuildDeps and/or be dropped because Julia now actually will fetch the relevant binaries anyway -- we only need to keep things that are needed to link against Looking at
Based on that, I wonder if we can't turn all dependencies into
But I am not 100% sure, perhaps I am missing something? I think to be sure, one also needs to experiment and see if a JLL build this way then can be used to e.g. build |
I think that would actually be a step in the right direction. For libjulia we only want to define the dependencies the runtime itself uses and not the standard lib etc. |
69404e0
to
e04d1d2
Compare
Thanks @giordano I've now enabled the "missing" ARM platforms and they all build! I've also changed most Deps into BuildDeps. |
This is work in progress; I figure there'll be problems, but we
will need this to rebuild CxxWrap for 1.7 (otherwise everything
using CxxWrap will segfault there)