Is there any way to go back to 0.6.4?

question

#1

For one project, I was sticking with Julia 0.6.4 because my functions and notebooks worked with a bunch of data we are analyzing. I recently needed to do 2-D interpolations, so I did

julia> Pkg.add("Interpolations")

and the system then prompted me to run

julia> Pkg.update()

After that, all hell broke loose. Running julia 0.6.4 in a terminal or in a notebook now results in complaints about needing the SoftGlobalScope package, and the IJulia package seems to require Julia v1.0!

Is there any way to recover my v0.6.4 environment (and safely add/update packages)?


#2

What version of IJulia is installed?


#3

Maybe a fresh installation of an old JuliaPro?


#4

It should certainly be possible to continue using Julia 0.6.4 for as long as you want. The package manager should not install package versions which require a newer Julia version, so in theory this should all just keep working.

Obviously, in practice, something has gone wrong, but we need more information to figure out what that is. Let’s start with your regular Julia terminal (not worrying about IJulia for now). SoftGlobalScope.jl is (a) only useful on Julia 1.0 and (b) only used by default in IJulia, so you shouldn’t be seeing errors due to that just from running Julia in a terminal. Can you post:

  1. Exactly the output you get when you run julia in a terminal
  2. What (if anything) is in your ~/.juliarc.jl file

#5

This seems to be an issue with using the latest IJulia. You should be able to use a previous version of IJulia with a compatible Julia version such as v"0.6.4".


#6

Contact a demonologist then. :wink:

A copy of the actual error messages may allow people to help you more specifically.


#7

Here’s the output of Pkg.status() – any clues?

$ julia

|  A fresh approach to technical computing
|  Documentation: https://docs.julialang.org
|  Type "?help" for help.
| 
|  Version 0.6.4 (2018-07-09 19:09 UTC)
|  Official http://julialang.org/ release
|  x86_64-pc-linux-gnu

julia>  Pkg.status()
7 required packages:
 - IJulia                        1.14.1             master
 - Interpolations                0.8.0
 - JLD2                          0.0.6
 - MAT                           0.4.0
 - Plots                         0.17.4
 - ProtoBuf                      0.6.1
 - UnicodePlots                  0.2.6
43 additional packages:
 - AxisAlgorithms                0.3.0
 - BinDeps                       0.8.10
 - BinaryProvider                0.3.3
 - Blosc                         0.5.1
 - BufferedStreams               0.4.1
 - CMakeWrapper                  0.1.0
 - CodecZlib                     0.4.4
 - ColorTypes                    0.6.7
 - Colors                        0.8.2
 - Compat                        1.4.0
 - Conda                         1.0.2
 - Contour                       0.4.0
 - DataStructures                0.8.4
 - FileIO                        0.9.1
 - FixedPointNumbers             0.4.6
 - GR                            0.36.0
 - HDF5                          0.9.5
 - JSON                          0.17.2
 - Libz                          0.4.0
 - MbedTLS                       0.5.14
 - Measures                      0.2.0
 - Missings                      0.2.10
 - NaNMath                       0.3.2
 - Nullables                     0.0.8
 - OffsetArrays                  0.6.0
 - Parameters                    0.9.2
 - PlotThemes                    0.2.0
 - PlotUtils                     0.4.4
 - Ratios                        0.3.0
 - RecipesBase                   0.3.1
 - Reexport                      0.1.0
 - Requires                      0.4.4
 - SHA                           0.5.7
 - ShowItLikeYouBuildIt          0.2.0
 - Showoff                       0.2.1
 - SortingAlgorithms             0.2.1
 - StaticArrays                  0.7.2
 - StatsBase                     0.23.1
 - TranscodingStreams            0.5.4
 - URIParser                     0.3.1
 - VersionParsing                1.1.3
 - WoodburyMatrices              0.3.0
 - ZMQ                           0.6.4

julia> 

#8

I don’t have that file.


#9

I cannot seem to Pkg.rm("IJulia") – it throws an error complaining about ZMQ incompatibility.

I can Pkg.rm("ZMQ") but the same error happens when I then try Pkg.rm("IJulia").

Sigh.


#10

At some point in the past, it looks like you manually checked out the master branch of IJulia. That master branch is no longer supported on Julia 0.6, which is why IJulia is broken for you. You should be able to do: Pkg.free("IJulia") to undo that operation.


#11

Something you can also do (if freeing doesn’t solve the problem) is go in the IJulia directory and manually checkout a particular version with git. You can go on the release page and look for dates that should work and then checkout the corresponding commit hash, e.g. git checkout bb438dc04003039a3168fff9ca1a4625f3b08e2c.

I made a backup of my v0.6 directory and when something goes wrong with it I check with commit I have in the backup and revert my pacakges to these ones, which usually fix the issue.


#12

Thanks! Yes, I vaguely remember doing something nonstandard when the ? prefix stopped working for help in a Julia notebook.

free() at last!

:grinning: