see http://julialang.org/downloads/platform.html
I did, on Linux mint, per above:
sudo apt-add-repository ppa:staticfloat/julianightlies sudo apt-add-repository ppa:staticfloat/julia-deps sudo apt-get update sudo apt-get install julia
and now
~>julia _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "?help" for help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.5.0-dev+1491 (2015-11-27 16:54 UTC) _/ |\__'_|_|_|\__'_| | Commit 41fb1ba (54 days old master) |__/ | x86_64-linux-gnu julia>
Same steps as below for 0.2, from git. After installing I did
>./julia _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "help()" to list help topics | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.3.0-prerelease+4002 (2014-07-01 19:11 UTC) _/ |\__'_|_|_|\__'_| | Commit 7e74621 (0 days old master) |__/ | i686-linux-gnu julia> Pkg.add("Winston") INFO: Initializing package repository /home/me/.julia/v0.3 INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl using WinstonINFO: Cloning cache of BinDeps from git://github.com/JuliaLang/BinDeps.jl.git INFO: Cloning cache of Cairo from git://github.com/JuliaLang/Cairo.jl.git INFO: Cloning cache of Color from git://github.com/JuliaLang/Color.jl.git INFO: Cloning cache of IniFile from git://github.com/JuliaLang/IniFile.jl.git INFO: Cloning cache of Tk from git://github.com/JuliaLang/Tk.jl.git INFO: Cloning cache of URIParser from git://github.com/Keno/URIParser.jl.git INFO: Cloning cache of Winston from git://github.com/nolta/Winston.jl.git INFO: Installing BinDeps v0.2.14 INFO: Installing Cairo v0.2.13 INFO: Installing Color v0.2.10 INFO: Installing IniFile v0.2.2 INFO: Installing Tk v0.2.13 INFO: Installing URIParser v0.0.2 INFO: Installing Winston v0.11.0 INFO: Building Cairo INFO: Building Tk INFO: Package database updated julia> using Winston julia> x = -2pi:0.1:2pi; julia> plot(x, sin(x.^2)./x)
Here is screen shot
get the source using git
>git clone git://github.com/JuliaLang/julia.git Cloning into 'julia'... remote: Reusing existing pack: 82408, done. remote: Counting objects: 7, done. remote: Compressing objects: 100% (7/7), done. remote: Total 82415 (delta 2), reused 4 (delta 0) Receiving objects: 100% (82415/82415), 27.75 MiB | 4.92 MiB/s, done. Resolving deltas: 100% (61567/61567), done. Checking out files: 100% (567/567), done. >lsd drwxrwxrwx 1 me me 0 Jan 7 17:55 ./ drwxrwxrwx 1 me me 40960 Jan 6 02:41 ../ drwxrwxrwx 1 me me 0 Jan 7 17:56 julia/ >cd julia/ >lsd drwxrwxrwx 1 me me 0 Jan 7 17:56 ./ drwxrwxrwx 1 me me 0 Jan 7 17:55 ../ drwxrwxrwx 1 me me 24576 Jan 7 17:56 base/ drwxrwxrwx 1 me me 0 Jan 7 17:56 contrib/ drwxrwxrwx 1 me me 8192 Jan 7 17:56 deps/ drwxrwxrwx 1 me me 0 Jan 7 17:56 doc/ drwxrwxrwx 1 me me 0 Jan 7 17:56 etc/ drwxrwxrwx 1 me me 0 Jan 7 17:56 examples/ drwxrwxrwx 1 me me 0 Jan 7 17:56 .git/ drwxrwxrwx 1 me me 12288 Jan 7 17:56 src/ drwxrwxrwx 1 me me 12288 Jan 7 17:56 test/ drwxrwxrwx 1 me me 0 Jan 7 17:56 ui/ >
compile
>make Cloning into 'deps/Rmath'... remote: Reusing existing pack: 332, done. remote: Total 332 (delta 0), reused 0 (delta 0) Receiving objects: 100% (332/332), 247.59 KiB, done. Resolving deltas: 100% (217/217), done. Submodule path 'deps/Rmath': checked out '004e056e4562a8e8459b3d283f7de2f655f99a8b' Cloning into 'deps/libuv'... remote: Counting objects: 18022, done. remote: Compressing objects: 100% (7331/7331), done. remote: Total 18022 (delta 10650), reused 18000 (delta 10629) Receiving objects: 100% (18022/18022), 10.53 MiB | 3.42 MiB/s, done. Resolving deltas: 100% (10650/10650), done. Submodule path 'deps/libuv': checked out '5bf16a9b86b2b059b20703d52c1dbba5979b6f5c' Cloning into 'deps/openlibm'... .... /usr/bin/ld: cannot find -lncurses collect2: error: ld returned 1 exit status *** Please ensure that the ncurses-devel package is installed on your OS, and try again. *** make[2]: *** [/home/me/data/julia/usr/bin/julia-readline] Error 1 make[1]: *** [julia-release] Error 2 make: *** [release] Error 2 >
so I installed ncurses
>sudo apt-get install ncurses-dev [sudo] password for me: Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libncurses5-dev' instead of 'ncurses-dev' The following extra packages will be installed: libtinfo-dev Suggested packages: ncurses-doc The following NEW packages will be installed: libncurses5-dev libtinfo-dev 0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded. Need to get 306 kB of archives. After this operation, 1,146 kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://archive.ubuntu.com/ubuntu/ raring/main libtinfo-dev i386 5.9-10ubuntu4 [93.1 kB] Get:2 http://archive.ubuntu.com/ubuntu/ raring/main libncurses5-dev i386 5.9-10ubuntu4 [213 kB] Fetched 306 kB in 0s (389 kB/s) Selecting previously unselected package libtinfo-dev:i386. (Reading database ... 229715 files and directories currently installed.) Unpacking libtinfo-dev:i386 (from .../libtinfo-dev_5.9-10ubuntu4_i386.deb) ... Selecting previously unselected package libncurses5-dev. Unpacking libncurses5-dev (from .../libncurses5-dev_5.9-10ubuntu4_i386.deb) ... Setting up libtinfo-dev:i386 (5.9-10ubuntu4) ... Setting up libncurses5-dev (5.9-10ubuntu4) ...
use g++ -print-search-dirs to find which libraries are searched by g++
>locate libncurses /lib/i386-linux-gnu/libncurses.so.5 /lib/i386-linux-gnu/libncurses.so.5.9 /lib/i386-linux-gnu/libncursesw.so.5 /lib/i386-linux-gnu/libncursesw.so.5.9 /usr/lib/vlc/plugins/gui/libncurses_plugin.so /usr/share/doc/libncurses5 /usr/share/doc/libncursesw5 /var/lib/dpkg/info/libncurses5:i386.list /var/lib/dpkg/info/libncurses5:i386.md5sums /var/lib/dpkg/info/libncurses5:i386.postinst /var/lib/dpkg/info/libncurses5:i386.postrm /var/lib/dpkg/info/libncurses5:i386.shlibs /var/lib/dpkg/info/libncurses5:i386.symbols /var/lib/dpkg/info/libncursesw5:i386.list /var/lib/dpkg/info/libncursesw5:i386.md5sums /var/lib/dpkg/info/libncursesw5:i386.postinst /var/lib/dpkg/info/libncursesw5:i386.postrm /var/lib/dpkg/info/libncursesw5:i386.shlibs /var/lib/dpkg/info/libncursesw5:i386.symbols
Ok, now try the build of Julia again, just type make again where it was left
>make LINK usr/bin/julia-readline CC ui/repl-basic.o LINK usr/bin/julia-basic linalg.jl OpenBLAS : Your OS does not support AVX instructions. OpenBLAS is using Nehalem kernels as a fallback, which may give poorer performance. Warning: replacing module Base
it worked ! lets try it
>lsd drwxr-xr-x 13 me me 4096 Jan 7 20:40 ./ drwxr-xr-x 4 me me 4096 Jan 7 19:15 ../ drwxr-xr-x 5 me me 4096 Jan 7 20:40 base/ drwxr-xr-x 6 me me 4096 Jan 7 19:15 contrib/ drwxr-xr-x 20 me me 4096 Jan 7 20:25 deps/ drwxr-xr-x 9 me me 4096 Jan 7 19:15 doc/ drwxr-xr-x 2 me me 4096 Jan 7 19:15 etc/ drwxr-xr-x 2 me me 4096 Jan 7 19:15 examples/ drwxr-xr-x 9 me me 4096 Jan 7 20:40 .git/ lrwxrwxrwx 1 me me 42 Jan 7 20:40 julia -> /home/me/data/julia/usr/bin/julia-readline* drwxr-xr-x 4 me me 4096 Jan 7 20:27 src/ drwxr-xr-x 4 me me 4096 Jan 7 19:15 test/ drwxr-xr-x 2 me me 4096 Jan 7 20:40 ui/ drwxr-xr-x 8 me me 4096 Jan 7 19:16 usr/ >which julia >./julia OpenBLAS : Your OS does not support AVX instructions. OpenBLAS is using Nehalem kernels as a fallback, which may give poorer performance. _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "help()" to list help topics | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.3.0-prerelease+860 (2014-01-07 22:41 UTC) _/ |\__'_|_|_|\__'_| | Commit 0258864 (0 days old master) |__/ | i686-linux-gnu julia>
Let see if it will plot something
To update packages
julia> Pkg.update() INFO: Initializing package repository /home/me/.julia INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl INFO: Updating METADATA... INFO: Computing changes... INFO: No packages to install, update or remove julia> Pkg.add("PyPlot") INFO: Cloning cache of Color from git://github.com/JuliaLang/Color.jl.git INFO: Cloning cache of PyCall from git://github.com/stevengj/PyCall.jl.git INFO: Cloning cache of PyPlot from git://github.com/stevengj/PyPlot.jl.git INFO: Installing Color v0.2.6 INFO: Installing PyCall v0.3.1 INFO: Installing PyPlot v1.1.0 INFO: REQUIRE updated using PyPlot ERROR: PyError (PyImport_ImportModule) <type 'exceptions.ImportError'> ImportError('No module named matplotlib',) in pyerr_check at /home/me/.julia/PyCall/src/exception.jl:58 in pyimport at /home/me/.julia/PyCall/src/PyCall.jl:85 in reload_path at loading.jl:146 in _require at loading.jl:59 in require at loading.jl:43 while loading /home/me/.julia/PyPlot/src/PyPlot.jl, in expression starting on line 32
Ok, so the above is no good. Try this now
julia> Pkg.add("Winston") INFO: Cloning cache of BinDeps from git://github.com/JuliaLang/BinDeps.jl.git INFO: Cloning cache of Cairo from git://github.com/JuliaLang/Cairo.jl.git INFO: Cloning cache of IniFile from git://github.com/JuliaLang/IniFile.jl.git INFO: Cloning cache of Tk from git://github.com/JuliaLang/Tk.jl.git INFO: Cloning cache of URIParser from git://github.com/loladiro/URIParser.jl.git INFO: Cloning cache of Winston from git://github.com/nolta/Winston.jl.git INFO: Installing BinDeps v0.2.12 INFO: Installing Cairo v0.2.12 INFO: Installing IniFile v0.2.2 INFO: Installing Tk v0.2.10 INFO: Installing URIParser v0.0.1 INFO: Installing Winston v0.7.2 INFO: Building Cairo INFO: Building Tk INFO: REQUIRE updated julia> using Winston julia> x = -2pi:0.1:2pi; julia> plot(x, sin(x.^2)./x)
it worked!
use the methods command
julia> methods(plot) # 8 methods for generic function "plot": plot(p::FramedPlot,x::(Array{T<:Real,1},Array{S<:Real,1}),args...) at /home/me/.julia/Winston/src/plot_interfaces.jl:22 plot(p::FramedPlot,f::Function,a::Real,b::Real,args...) at /home/me/.julia/Winston/src/plot_interfaces.jl:26 plot(p::FramedPlot,fs::Array{Function,1},a::Real,b::Real,args...) at /home/me/.julia/Winston/src/plot_interfaces.jl:36 plot(p::FramedPlot,fs::(Function,Function),a::Real,b::Real,args...) at /home/me/.julia/Winston/src/plot_interfaces.jl:57 plot(p::FramedPlot,args...) at /home/me/.julia/Winston/src/plot.jl:107 plot(fs::Array{Function,2},a::Real,b::Real,args...) at /home/me/.julia/Winston/src/plot_interfaces.jl:68 plot(f::Contourc) at /home/me/.julia/Winston/src/plot_interfaces.jl:317 plot(args...) at /home/me/.julia/Winston/src/plot.jl:168
There is also help, but does not work for all functions like the above
julia> help(open) Base.open(file_name[, read, write, create, truncate, append]) -> IOStream julia> ?help Welcome to Julia. The full manual is available at http://docs.julialang.org To get help, try help(function), help("@macro"), or help("variable"). To search all help text, try apropos("string"). To see available functions, try help(category), for one of the following categories: "Getting Around" "All Objects" "Types" "Generic Functions" "Syntax" "Iteration" "General Collections" "Iterable Collections" "Indexable Collections" "Associative Collections" "Set-Like Collections" "Dequeues" "Strings" "I/O" "Network I/O" "Text I/O" "Multimedia I/O" "Memory-mapped I/O" "Mathematical Operators" "Mathematical Functions" "Data Formats" "Numbers" "BigFloats" "Random Numbers" "Arrays" "Combinatorics" "Statistics" "Signal Processing" "Numerical Integration" "Parallel Computing" "Distributed Arrays" "System" "C Interface" "Errors" "Tasks" "Events" "Reflection" "Internals" "Collections and Data Structures" "Constants" "Filesystem" "Graphics" "Linear Algebra" "BLAS Functions" "Package Manager Functions" "Profiling" "Sorting and Related Functions" "Sparse Matrices" "Unit and Functional Testing"
Need to use display, like this
using Winston x=-2pi:0.1:2pi display(plot(x,sin(x.^2)./x))
On Linux, from terminal, there is not need to use display, but on windows I found that it is needed, else the plot do not show up.
julia> VERSION v"0.2.0" julia>
To get more information:
julia> versioninfo(true) Julia Version 0.2.0 Commit 05c6461 (2013-11-16 23:44 UTC) Platform Info: System: Windows (x86_64-w64-mingw32) WORD_SIZE: 64 Microsoft Windows [Version 6.1.7601] uname: MINGW32_NT-6.1 1.0.12(0.46/3/2) 2011-07-20 17:52 i686 unknown Memory: 15.925960540771484 GB (8968.46484375 MB free) Uptime: 272274.5636161 sec Load Avg: 0.0 0.0 0.0
First time you install Julia:
cd .... to where you want Julia folder to be git clone git://github.com/JuliaLang/julia.git cd julia make .... go take a long nap....
Now, to upgrade Julia anytime after the above, do
git pull && make