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

Wrong v0.2.2? #10

Closed
mauro3 opened this issue Jul 6, 2017 · 7 comments
Closed

Wrong v0.2.2? #10

mauro3 opened this issue Jul 6, 2017 · 7 comments

Comments

@mauro3
Copy link

mauro3 commented Jul 6, 2017

Tag v0.2.2 points to the same commit as v0.1.0. If that is indeed intended then it causes problems as there is no pre-compilation enabled in 0.1.0.

@ChrisRackauckas
Copy link
Member

It was on purpose because there was major breakage. Precompilation isn't enabled but it's not disabled. I'll get this fixed but it shouldn't be causing any major problems? Right? If a library depends on this and precompiles, it would just precompile it.

@mauro3
Copy link
Author

mauro3 commented Jul 6, 2017

I got this kind of error:

INFO: Precompiling module FiniteElementDiffEq.
WARNING: Module EllipsisNotation with uuid 1287239568020496 is missing from the cache.
This may mean module EllipsisNotation does not support precompilation but is imported by a module that does.
ERROR: LoadError: Declaring __precompile__(false) is not allowed in files that are being precompiled.                                  

When doing a fresh install of the DiffEq-system on Julia 0.6.

@mauro3
Copy link
Author

mauro3 commented Jul 6, 2017

BTW, similarly for LsqFit.jl and DiffEqParamEstim:

INFO: Precompiling module DiffEqParamEstim.                                                                                  [1875/1916]
WARNING: Module LsqFit with uuid 1287400202083482 is missing from the cache.
This may mean module LsqFit does not support precompilation but is imported by a module that does.
ERROR: LoadError: Declaring __precompile__(false) is not allowed in files that are being precompiled.

My understanding is that a package needs to opt-into pre-compilation. As not all of them are safe to be pre-compiled.

@ChrisRackauckas
Copy link
Member

My understanding is that a package needs to opt-into pre-compilation. As not all of them are safe to be pre-compiled.

That understanding is wrong. That has nothing to do with lack of precompile statements. It's due to broken precompile caches. One thing that can cause it is the Iterators and FFTW naming in Base.

JuliaLang/julia#21969

If you have Distributions anywhere in the chain you'll hit this issue.

JuliaStats/Distributions.jl#631

Another thing that can cause it is attempting to recompile when the same session is open. It's a v0.6 bug and I don't think it has been reported yet.

But precompiling a library which has dependents that don't explicitly say __precompile__() is fine: you just can't precompile a library which has dependents which say __precompile__(false).

@ChrisRackauckas
Copy link
Member

Unless they changed it in v0.7?

@mauro3
Copy link
Author

mauro3 commented Jul 6, 2017

Ha, I was still in 0.4: https://docs.julialang.org/en/release-0.4/manual/modules/#module-initialization-and-precompilation on that one...

Ok, I was aware of the Iterators.jl issue but not that FFTW is also affected. I'll read up and maybe report back.

@mauro3 mauro3 closed this as completed Jul 6, 2017
@mauro3
Copy link
Author

mauro3 commented Jul 6, 2017

Doing JuliaStats/Distributions.jl#631 (comment) seems to fix it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants