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

Precompilation warning #759

Closed
ViralBShah opened this issue Dec 3, 2015 · 8 comments
Closed

Precompilation warning #759

ViralBShah opened this issue Dec 3, 2015 · 8 comments

Comments

@ViralBShah
Copy link
Collaborator

I get this warning when doing use Gadfly on the REPL on master as well as 0.4.1.

WARNING: eval from module Compose to Gadfly:    
Expr(:import, :Patchwork)::Any
  ** incremental compilation may be broken for this module **
@ViralBShah
Copy link
Collaborator Author

Cc @shashi

@rohitvarkey
Copy link

JuliaLang/julia#12400 seems to be the issue causing this. I'm guessing this is because of the use of the isinstalled function defined in Compose but also used in Gadfly.

From what I understood from the solution for the Images/Color issue, making isinstalled a macro rather than doing an eval inside should fix it.

@vtjnash
Copy link

vtjnash commented Dec 8, 2015

that might potentially trick the warning (although it shouldn't), but that won't fix the error the warning is trying to catch (which is that calling eval inside __init__ isn't compatible with precompilation)

@shashi
Copy link
Collaborator

shashi commented Dec 8, 2015

@vtjnash thanks, cf53705 was my attempt to fix this issue by making the warning go away.

So I guess one way to fix it is just depend on Patchwork, making the number of dependencies of Gadfly even larger (which was what we were trying to avoid). The awesome way to fix this is of course JuliaLang/julia#6884 !

@ViralBShah
Copy link
Collaborator Author

I would be ok to make Patchwork a dependency of Gadfly, if that will give faster compilation.

@shashi
Copy link
Collaborator

shashi commented Jan 21, 2016

@vtjnash what do you mean by "isn't compatible with precompilation"? It doesn't stop precompilation form happening...

I would like to move this logic to a new package called GadflyDiff, which depends on Patchwork, Reactive and Gadfly. The user will have to run using Gadfly, GadflyDiff to get the diffing functionality in IJulia, similarly can have ComposeDiff. Poor man's conditional modules?

For now I can forgo precompilation in Escher to keep similar conditional setup code working. It loads pretty fast as it is.

cc @JeffBezanson

@ViralBShah
Copy link
Collaborator Author

This sounds like a reasonable solution for now. However, we are doing this kind of a band aid in too many places, and it's best to have conditional modules.

@bjarthur
Copy link
Member

i believe this issue has been resolved. if not, please reopen 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

5 participants