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

Precompiling of Econometrics fails #1

Closed
finmod opened this issue Sep 10, 2019 · 5 comments
Closed

Precompiling of Econometrics fails #1

finmod opened this issue Sep 10, 2019 · 5 comments

Comments

@finmod
Copy link

finmod commented Sep 10, 2019

Trying to test this interesting new package.

using Econometrics

Info: Precompiling Econometrics [4d6a76a9-bfbc-5492-8924-cf6ed7875f06]
└ @ Base loading.jl:1242
┌ Warning: Package StatsModels does not have Compat in its dependencies:
│ - If you have StatsModels checked out for development and have
│ added Compat as a dependency but haven't updated your primary
│ environment's manifest file, try Pkg.resolve().
│ - Otherwise you may need to report an issue with StatsModels
└ Loading Compat into StatsModels from project dependency, future warnings for StatsModels are suppressed.
ERROR: LoadError: LoadError: UndefVarError: FormulaTerm not defined
Stacktrace:
[1] top-level scope at C:\Users\Denis\Documents\Finmod\econometrics-master\src\LinearRegression\ols.jl:34
[2] include at .\boot.jl:328 [inlined]
[3] include_relative(::Module, ::String) at .\loading.jl:1094
[4] include at .\Base.jl:31 [inlined]
[5] include(::String) at C:\Users\Denis\Documents\Finmod\econometrics-master\src\Econometrics.jl:1
[6] top-level scope at C:\Users\Denis\Documents\Finmod\econometrics-master\src\Econometrics.jl:25
[7] include at .\boot.jl:328 [inlined]
[8] include_relative(::Module, ::String) at .\loading.jl:1094
[9] include(::Module, ::String) at .\Base.jl:31
[10] top-level scope at none:2
[11] eval at .\boot.jl:330 [inlined]
[12] eval(::Expr) at .\client.jl:432
[13] top-level scope at .\none:3
in expression starting at C:\Users\Denis\Documents\Finmod\econometrics-master\src\LinearRegression\ols.jl:34
in expression starting at C:\Users\Denis\Documents\Finmod\econometrics-master\src\Econometrics.jl:25

Failed to precompile Econometrics [4d6a76a9-bfbc-5492-8924-cf6ed7875f06] to C:\Users\Denis.julia\compiled\v1.2\Econometrics\XQPLt.ji.

Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1253
[3] _require(::Base.PkgId) at .\loading.jl:1013
[4] require(::Base.PkgId) at .\loading.jl:911
[5] require(::Module, ::Symbol) at .\loading.jl:906
[6] top-level scope at In[2]:1

Also it should also be possible to check if Econometrics.jl is correctly installed by doing pkg> test Econometrics but this is also not possible.

@mcreel
Copy link
Owner

mcreel commented Sep 10, 2019

Thanks for your interest. I think that the problem is that you do not have StatsModels installed. I'm not an expert in all of the Julia package management possibilities. I believe that the best solution is to install the packages in the Econometrics Manifest.toml file. To do this, change directories so that the Econometrics directory is julia's working directory (or just download the Project.toml and Manifest.toml files to wherever is you julia working directory), and then do

] activate .

CTRL-C (to leave the package REPL)
using Econometrics
To get help on how to manage packages from experts, consider asking at https://discourse.julialang.org/latest

Regarding testing, Econometrics is not yet at that stage of professionalism. It would be nice to get there some time. PRs would be very welcome for that.

@finmod
Copy link
Author

finmod commented Sep 11, 2019

After installing StatsModels v0.6.3, various issues with arrays appeared. The combination of installed packages that solves this is:

  • RecursiveArrayTools v1.0.2
  • ShiftedArrays#master
  • StatsModels v0.6.3
  • Array Interface v1.2.1

with build, update and test on these packages. Then Econometrics runs fine with loads of warnings on precompilation but still does not pass test because it is not declared in the Manifest.toml file.

Also two issues with upgrade to Julia 1.1. "linespace" has been deprecated for "range" and "eye" has been deprecated for "Diagonal()" or "Matrix()"...

@mcreel
Copy link
Owner

mcreel commented Sep 11, 2019

I believe that the ] activate . method will take care of setting up the environment. eye() is a function defined in the Econometrics package. According to grep, the only occurrences of linspace are in old Octave/Matlab code, not in any Julia code. I don't plan on adding any serious testing in the near future, but I may do it at some point. So, I think that this issue can be closed. Thanks for the input, and please let me know if you have any problems.

@mcreel
Copy link
Owner

mcreel commented Sep 11, 2019

I just verified that the following works without problems, using julia 1.3-rc1 with no packages installed, on Linux. This method is making use of the .toml files, as mentioned above. So, I'll close this issue now.

  1. ] add https://github.com/mcreel/Econometrics.git
  2. using Econometrics

@mcreel mcreel closed this as completed Sep 11, 2019
@mcreel
Copy link
Owner

mcreel commented Sep 11, 2019

One last comment, connectivity problems can interfere with needed software being downloaded, which can lead to error messages. If that happens, just do ] build Econometrics to retry.

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