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
Julia: reinit at latest #98043
Julia: reinit at latest #98043
Conversation
adb4f3b
to
f0761f8
Compare
@GrahamcOfBorg build julia |
Build timeout ... I guess there's no choice other then failing locally. |
So the plan is not to have LTS? |
I think maybe removing it was unintentional? @doronbehar said elsewhere:
|
I worded my question based on the assumption that between words and code, the latter is the authoritative source — maybe I have just underestimated the WIP part, of course. (But it is a question either way, not a statement, of course) |
In any case, I think that julia 1.0 ought to be included, and I would also suggest that it be called
|
Oh please folks, I didn't intent to discard the LTS, it's just that it's expression wasn't ready yet and I wanted to get CI happy until 1.5.1 was working, though now it doesn't matter as I'm testing the build locally. |
Also, I wouldn't lend high hopes in the work here. I'm getting weird "file not found" errors during build, when trying to use as many external deps as possible. I'm using direnv and lorri and this # .envrc
eval "$(lorri direnv)"
PATH=$PATH:$CMAKE_BIN
out=$PWD/nix-out
# for the "out command":
PATH=$PATH:$PWD/nix-out-cmd-bin Where the file #!/bin/sh
echo $out And with import /home/doron/repos/nixpkgs {};
mkShell {
inherit (julia) buildInputs nativeBuildInputs makeFlags;
CMAKE_BIN="${cmake}/bin";
} I'm launching
Trying building with their suitesparse or ours, and using their blas and lapack didn't help. |
libssh2 | ||
curl | ||
libgit2 | ||
patchelf |
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.
patchelf
should go into nativeBuildInputs
. And why is it needed in a build from source?
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.
I fixed 1.0.4 over at https://github.com/Lucus16/nixpkgs/tree/fix-julia I don't know how you want to fit it in so I'll leave that to you. |
@Lucus16 It would be great to have a working expression for 1.0.4 in this PR. You can open a PR against my branch |
@doronbehar Here you go: doronbehar#1 |
idk if this is helpful or not, but the build does succeed using the derivation from 1.3 (lightly modified), but 22 tests Fail (although 3853097 tests pass :): https://gist.github.com/tbenst/495998f0b7e1bfbac1c75ac2155ac528 Edit: should have specified that this is on 20.09 |
I've incorporated Guix' method for Julia where the patches are applied on our derivations via overrides, and |
75355a5
to
b960eec
Compare
@doronbehar Let me know if you need a hand. I would really like to have Julia back in nixpkgs. |
for i in backtrace cmdlineargs; do | ||
mv test/$i.jl{,.off} | ||
touch test/$i.jl | ||
done | ||
rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl | ||
rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl | ||
sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl | ||
sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl |
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.
It looks like we're removing a good number of tests here. Why is that necessary? Are these known failures that we have existing issues for? If so it would be good to mention them here.
rev = version; | ||
sha256 = "040l7f1hk7xyza11sry5cj4fhw05na949865axqqhxnifdvnmfji"; | ||
}; | ||
# Tests fail with this branch |
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.
Is there an upstream issue for this?
You can help by try and building it as is. I got lazy to do it on my notebook laptop, as it needs building a custom version of llvm_7. If the llvm build succeeds, I'd also appreciate if you'd setup cachix and share the llvm build with me. |
cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz" | ||
cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz" | ||
cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz" | ||
cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz" |
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.
Why do we need virtualenv? I can't think of any good reason. In the past it was used in the build system I think but that is long ago.
I've tried this today rebased on top of 5d0e2de, and got the following build error:
|
Just as feedback, I can successfully build this locally on my machine. I do not really know how to upload anything to cachix but if someone walks me through the steps, then I am happy to do that. |
@doronbehar I tried building the current merge-head and got the same error as @matklad. I followed the basic setup instructions for cachix and then did a
I haven't used cachix before but hopefully I did that right and it can be of some assistance |
Make build pass
Luckily that product is excellently built (:green_heart: |
b960eec
to
20f6afd
Compare
The last push is just a rebase and a merge conflict fix. |
Closed in favor of #101933 . |
Oh but there's @Lucus16 commit I forgot here which fixes 10.. I will open a new PR. |
Make build pass
Motivation for this change
Close #93333 and Fix #91930 .
Things done
Using ofborg to test the builds.
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)