-
Notifications
You must be signed in to change notification settings - Fork 421
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
Precompilation error on Julia v0.6 #631
Comments
You might have to delete the contents of ~/.julia/lib/v0.6. |
Thank you @ararslan , I deleted it, but the problem remains. Any other suggestion that I can try locally? |
Hm, I'm not sure, I can't reproduce the failure locally. What's your |
This is the output of both commands: julia> versioninfo()
Julia Version 0.6.1-pre.0
Commit dcf39a1dda* (2017-06-19 13:06 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.9.1 (ORCJIT, skylake)
julia> Pkg.status("Distributions")
- Distributions 0.14.0 master
julia> Pkg.status("FFTW")
- FFTW 0.0.2 And the version of fftw on my system in case it is relevant:
|
Can you try it from the 0.6 release binary rather than a build of the release-0.6 branch? |
Same issue on the precompiled binary, just tried it. What exactly is |
|
lib is the precompiled cache files (.ji) and .cache is the git tracking info for each installed package. So maybe don't delete the latter... |
Tried it, nothing changed. And apparently this didn't cause any issue locally, I am able to load other packages and run the tests without a |
A |
Can you try |
Thank you @nalimilan, just tried it, and everything works. I get an expected warning: julia> using FFTW
WARNING: imported binding for FFTW overwritten in module Main |
In the other issue I pointed (JuliaMath/Combinatorics.jl#48), they solved it by replacing |
Yes it's likely because FFTW.jl has the same name as the FFTW submodule in Base. |
I don't understand why this issue is only affecting me though, are you guys using Julia v0.6 as well? Thank you for opening the issue in |
I am. I don't think anyone is quite sure what exactly causes this issue, though I think some people have had luck nuking their entire ~/.julia folder. Quite unfortunate but a possible solution. |
Just a guess, but maybe the failure happens when some packages which have been precompiled and are dependencies of Distributions use functions from |
Just tried deleting the entire |
Since FFTW is part of Base now, shouldn't Distributions.jl use it instead of the FFTW.jl package? |
FFTW is no longer part of Base. |
Yeah, it's the opposite situation: FFTW was part of Base up until quite recently, in 0.7-DEV. To support Julia nightly we need to add a dependency on the FFTW package, which contains the code moved out of Base. |
With the Combinatorics/Iterators issue, But it's fundamentally an issue with naming that hopefully will get solved. See JuliaLang/julia#21969 |
This is already of big help @ChrisRackauckas, thank you for sharing. I can proceed with my work meanwhile. |
Can this change be reverted until FFTW.jl stabilizes a bit and gets some of its kinks worked out? This error is quite annoying to have in a pretty widely used package, and it doesn't build on RHEL/Fedora/CentOS. Right now the current release requires FFTW and does get in the way of normal v0.6 usage only for the benefit of users on the nightly. I think it should have a release version which is solid on v0.6 and a v0.7 branch for users to checkout if needed, at least until this is all sorted out. Of course, the downside is you get less people coerced into testing this for you hehe. While users can just pin the previous version, it is a little difficult to track down this is the reason. |
Which change do you mean, the deprecation in Base or the addition of FFTW as a dependency for Distributions? JuliaMath/FFTW.jl#17 would get this working, there's just significant disagreement over the best approach to take on that front. I had also suggested simply using a pure Julia implementation of the N2 algorithm to avoid a dependency on FFTW altogether, since the only use of an FFT in this package is in computing the Poisson binomial PDF. |
I was thinking that you should just create a new release which doesn't have FFTW.jl which won't work on v0.6, and have a branch with FFTW.jl setup and waiting for the solution to be worked out before merging and releasing with it. I think the majority of people are on v0.6 so this'll help a lot of non-power users who don't know the workaround, and in the meantime it's not a difficult branch to maintain. Unless the solution is coming really soon that is. But this Iterators.jl thing has been happening for awhile, so I'm skeptical :). |
From scanning this long thread: One work-around for this is to delete lines Line 9 in 0f89af2
and Distributions.jl/src/Distributions.jl Line 11 in 0f89af2
Is this the preferred work-around? Maybe the preferred work-around could be inserted into the top post (@juliohm). |
Deleting a dependency that's present in the package isn't really a good workaround... |
Yep, that is why I'm asking for a good work around. Note though it passes the tests fine. If that should not be the case, then a test should be added. |
Julia Version 0.6.0 Pkg.status("Distributions")
Was experiencing similar problems. I am not as savvy to mess about with manually deleting .julia libraries or anything, but I followed the discussions mentioned here and couldn't resolve it. The solution I got was inspired by another issue, JuliaLang/julia#19017 . From messing about, I don't remember the original error message, but the one I was getting most recently was along the lines of: |
Currently I am unable to compile Distributions.jl on Julia v0.6:
Similar issue has happened with
Combinatorics.jl
: JuliaMath/Combinatorics.jl#48What exactly is happening? How can I fix this myself?
The text was updated successfully, but these errors were encountered: