JuliaPro : ERROR: SystemError: unable to read directory Operation not permitted - julia

JuliaPro - https://juliacomputing.com/products/juliapro/
I just get this Error with JuliaPro 1.5.2 - JupyterNote works fine -
MacBook Pro 2019 - Tried to uninstall and reinstall, but I'm not understanding why JuliaPro is giving me this error.
EDIT: Mac - Security & Privacy - Files and Folders - Atom all checked - JuliaPro-1.5.2.app - all checked
Full Disk Access - checked
Atom v0.12.23,
CSV v0.7.7,
DataFrames v0.21.8,
Glob v1.3.0,
IJulia v1.22.0,
JuliaDB v0.13.0,
Juno v0.8.4,
Pipe v1.3.0,
PkgAuthentication v0.3.0,
Weave v0.10.6,
Statistics
using Glob, CSV, Tables, DataFrames
fileDirectory = "/Users/Documents/CSV"
files = glob("*.csv", fileDirectory)
ERROR: SystemError: unable to read directory /Users/Documents/CSV: Operation not permitted
Stacktrace:
[1] readdir(::String; join::Bool, sort::Bool) at ./file.jl:780
[2] readdir at ./file.jl:775 [inlined]
[3] _glob!(::Array{String,1}, ::Glob.FilenameMatch{SubString{String}}) at /Users/.julia/packages/Glob/GOSfX/src/Glob.jl:399
[4] glob(::String, ::String) at /Users/.julia/packages/Glob/GOSfX/src/Glob.jl:367
[5] top-level scope at none:1
EDIT to Error: This shows up in Atom
Juno-julia-run
Argument to path.dirname must be a string
Object.dirname - /Applications/JuliaPro-1.5.2-1.app/Contents/MacOS/JuliaPro-Juno-1.5.2-1.app/Contents/Resources/JuliaPro-Juno-1.5.2-1/Contents/Resources/app.asar/src/electron-shims.js:9:10
- /Applications/JuliaPro-1.5.2-1.app/Contents/MacOS/JuliaPro-Juno-1.5.2-1.app/Contents/Resources/julia_atom_1.5.2-1/packages/JuliaRun-in-JuliaPro/lib/fs-utils.js:29:31
Generator.throw - null:null:null
step - /Applications/JuliaPro-1.5.2-1.app/Contents/MacOS/JuliaPro-Juno-1.5.2-1.app/Contents/Resources/julia_atom_1.5.2-1/packages/JuliaRun-in-JuliaPro/lib/fs-utils.js:41:273

Related

Trouble running whitebox in Rstudio ("~/whitebox_tools.exe" not found)

I am trying to run 'whitebox' packages in R.
To get started, I follow the steps in the link: https://github.com/giswqs/whiteboxR
install.packages("whitebox")
whitebox::install_whitebox()
Console:
------------------------------------------------------------------------
Could not find WhiteboxTools!
------------------------------------------------------------------------
Your next step is to download and install the WhiteboxTools binary:
> whitebox::install_whitebox()
If you have WhiteboxTools installed already run `wbt_init(exe_path=...)`':
> wbt_init(exe_path='/home/user/path/to/whitebox_tools')
For whitebox package documentation, ask for help:
> ??whitebox
For more information visit https://giswqs.github.io/whiteboxR/
------------------------------------------------------------------------
Performing one-time download of WhiteboxTools binary from
https://www.whiteboxgeo.com/WBT_Windows/WhiteboxTools_win_amd64.zip
(This could take a few minutes, please be patient...)
trying URL 'https://www.whiteboxgeo.com/WBT_Windows/WhiteboxTools_win_amd64.zip'
Content type 'application/zip' length 15383844 bytes (14.7 MB)
downloaded 14.7 MB
WhiteboxTools binary is located here: C:/Users/frsu0056/OneDrive - Umeå universitet/Documents/R/win-library/4.1/whitebox/WBT/whitebox_tools.exe
You can now start using whitebox
library(whitebox)
wbt_version()
After downloading i run:
library(whitebox)
if(wbt_init()==TRUE){print("all good")}#confirms if the whitebox_tools.exe exists in,'C:/Users/frsu0056/OneDrive - Umeå universitet/Documents/R/win-library/4.1/whitebox/WBT/whitebox_tools.exe'.
console:
[1] "all good"
Now, if I try to run any function in the whitebox package, it returns an odd error message
for example
wbt_version()
returns:
Error :
Error running WhiteboxTools
whitebox.exe_path: "C:/Users/frsu0056/OneDrive - Umeå universitet/Documents/R/win-library/4.1/whitebox/WBT/whitebox_tools.exe"; File exists? TRUE
Arguments: --version
Error in system(exeargs, intern = TRUE, ignore.stderr = ignore.stderr, : '"C:/Users/frsu0056/OneDrive - Umeå universitet/Documents/R/win-library/4.1/whitebox/WBT/whitebox_tools.exe"' not found
Yet, the wbt_init() returns TRUE so the file exists in the given directory. Nevertheless, the wbt_version() function can not find it.
And so the story goes for any function in the whitebox package. It just can't find the .exe file yet the file exists in the folder where it is supposed to be.
Anyone else get the same problem running this? And what could possibly be wrong here?
Below is the .exe file resting in the directory.
The problem with whitebox in my experience is that it cannot decode spaces. I don't think the problem is the one drive folder per se, just that there are spaces in the file path. I would suggest not having your packages installed in a one drive folder or any other folder where the path has spaces. To change the folder where your libraries are installed, refer to the solution: Change R default library path using .libPaths in Rprofile.site fails to work

Failed to precompile StatsPlots.jl

This might be connected to this or this. However, none of the suggested solutions works for me.
I'm using VSCode with the Julia extension and I run everything in a Jupyter notebook. My first cell looks as follows.
using Distributions
using StatsBase
using CSV
using DataFrames
using HypothesisTests
using Plots
using GLM
using StatsPlots
Executing the cell yields to the following error.
ailed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_27z7QU.
Stacktrace:
[1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
# Base ./loading.jl:1466
[2] compilecache(pkg::Base.PkgId, path::String)
# Base ./loading.jl:1410
[3] _require(pkg::Base.PkgId)
# Base ./loading.jl:1120
[4] require(uuidkey::Base.PkgId)
# Base ./loading.jl:1013
[5] require(into::Module, mod::Symbol)
# Base ./loading.jl:997
[6] eval
# ./boot.jl:373 [inlined]
[7] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
# Base ./loading.jl:1196
[8] #invokelatest#2
# ./essentials.jl:716 [inlined]
[9] invokelatest
# ./essentials.jl:714 [inlined]
[10] (::VSCodeServer.var"#150#151"{VSCodeServer.NotebookRunCellArguments, String})()
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:18
[11] withpath(f::VSCodeServer.var"#150#151"{VSCodeServer.NotebookRunCellArguments, String}, path::String)
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/repl.jl:185
[12] notebook_runcell_request(conn::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::VSCodeServer.NotebookRunCellArguments)
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:14
[13] dispatch_msg(x::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::VSCodeServer.JSONRPC.MsgDispatcher, msg::Dict{String, Any})
# VSCodeServer.JSONRPC ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/JSONRPC/src/typed.jl:67
[14] serve_notebook(pipename::String; crashreporting_pipename::String)
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:94
[15] top-level scope
# ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/notebook/notebook.jl:12
Next, I have opened the Julia command line and removed the StatsPlots extensions using ] rm "StatsPlots" and readded it using ] add "StatsPlots" with no success. I have tried to execute precompile in the command line by hand which yields to the following output.
(#v1.7) pkg> precompile
Precompiling project...
✗ Arpack
✗ MultivariateStats
✗ StatsPlots
0 dependencies successfully precompiled in 11 seconds (216 already precompiled)
ERROR: The following 1 direct dependency failed to precompile:
StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd]
Failed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_1XjxNk.
ERROR: LoadError: InitError: could not load library "/home/david/.julia/artifacts/cdf6dc8aa6771a61c6c65a5a5c1a8d1b75f50a2f/lib/libarpack.so"
libopenblas64_.so: cannot open shared object file: No such file or directory
Stacktrace:
[1] macro expansion
# ~/.julia/packages/JLLWrappers/QpMQW/src/products/library_generators.jl:54 [inlined]
[2] __init__()
# Arpack_jll ~/.julia/packages/Arpack_jll/zfgpQ/src/wrappers/x86_64-linux-gnu-libgfortran5.jl:10
[3] top-level scope (repeats 2 times)
# none:1
during initialization of module Arpack_jll
in expression starting at /home/david/.julia/packages/Arpack/pLziT/src/Arpack.jl:2
ERROR: LoadError: Failed to precompile Arpack [7d9fca2a-8960-54d3-9f78-7d1dccf2cb97] to /home/david/.julia/compiled/v1.7/Arpack/jl_fCy8AR.
Stacktrace:
[1] include(x::String)
# MultivariateStats ~/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:1
[2] top-level scope
# ~/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:113
[3] top-level scope (repeats 2 times)
# none:1
in expression starting at /home/david/.julia/packages/MultivariateStats/zLpz8/src/kpca.jl:3
in expression starting at /home/david/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:1
ERROR: LoadError: Failed to precompile MultivariateStats [6f286f6a-111f-5878-ab1e-185364afe411] to /home/david/.julia/compiled/v1.7/MultivariateStats/jl_8Rrih5.
Stacktrace:
[1] top-level scope (repeats 2 times)
# none:1
in expression starting at /home/david/.julia/packages/StatsPlots/CpWiU/src/StatsPlots.jl:1
I have tried to restart the Julia kernel, restart VSCode, and I've tried the solution suggested in the second link that I have provided, meaning removing the package and run gc.
I have also removed and readded MultivariateStats and Arpack but the above error remains.
It might be from interest that it has worked before. I run into a different error first by executing the following cell.
#df data density(:Age, group = :Treatment, title = "Distribution of ages by treatment group", xlab = "Age", ylab="Distribution", legend=:topright)
The above yielded to the following error message.
LoadError: UndefVarError: #df not defined
It might have been the case that I accidently added the outdated extension StatPlots and that might have caused the above issue. However, I've removed the old extension and added the new one.
How can I resolve the above problem?
Edit: Running Pkg.status() yields to the following output.
(#v1.7) pkg> status
Status `~/.julia/environments/v1.7/Project.toml`
[336ed68f] CSV v0.10.2
[8f4d0f93] Conda v1.6.0
[a93c6f00] DataFrames v1.3.2
[31c24e10] Distributions v0.25.48
[38e38edf] GLM v1.6.1
[a2cc645c] GraphPlot v0.5.0
[86223c79] Graphs v1.6.0
[09f84164] HypothesisTests v0.10.6
[7073ff75] IJulia v1.23.2
[91a5bcdd] Plots v1.25.8
[c3e4b0f8] Pluto v0.18.0
[7f904dfe] PlutoUI v0.7.23
[438e738f] PyCall v1.93.0
[d330b81b] PyPlot v2.10.0
[aa4a32ff] SimpleHypergraphs v0.2.0
[2913bbd2] StatsBase v0.33.14
[f3b207a7] StatsPlots v0.14.33
I was able to resolve the problem. The root of the problem was the missing library libopenblas64. This could be due to a faulty Julia installation. Here is what I have done.
First, open the Julia command line and execute the following two commands.
using Libdl
filter!(p -> occursin("blas", p), Libdl.dllist())
In my case, this yielded to the following output.
1-element Array{String,1}:
"/usr/bin/../lib/libblas.so"
I have found a similar issue in this Github issue. The correct hint is given there as well. Since I am using Manjaro (built on the Arch Linux operating system), there might have been a problem with the Julia installation package that I used.
I removed my Julia installation and installed the official binaries: julia-bin by executing the following command.
yay -S julia-bin
Open the Julia command line again and run the first two commands. This time the output is as follows.
julia> filter!(p -> occursin("blas", p), Libdl.dllist())
2-element Vector{String}:
"/usr/bin/../lib/julia/libopenblas64_.so"
"/usr/bin/../lib/julia/libblastrampoline.so"
Executing my notebook works as expected now.

Failed proccess error when downloading file from GitHub on Jupyter Notebook in Julia

I'm trying to download a file from GitHub using Julia in Jupyter Notebook:
isfile("housing.data") ||
download("https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data",
"housing.data")
rawdata = readdlm("housing.data")'
I have Windows and Julia v1.1.1 version. I get the error message that doesn't say anything to me:
failed process: Process(`'C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe' -Version 3 -NoProfile -Command "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; (New-Object System.Net.Webclient).DownloadFile('https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data', 'housing.data')"`, ProcessExited(3221225477)) [3221225477]
Stacktrace:
[1] error(::String, ::Base.Process, ::String, ::Int64, ::String) at .\error.jl:42
[2] pipeline_error at .\process.jl:785 [inlined]
[3] download(::String, ::String) at .\download.jl:20
[4] top-level scope at In[3]:1
I tried googling the message but it's too long to find anything, I didn't find any related topic with problems like this. What might be the reason for this error? Do I need to provide you with some other information?
Base.download relies on availability and configuration of system commands. In particular its documentation reads:
"this function relies on the availability of external tools such as curl, wget or fetch to download the file and is provided for convenience. For production use or situations in which more options are needed, please use a package that provides the desired functionality instead."
Following this advice you should do:
using Pkg
Pkg.add("HTTP")
using HTTP
HTTP.download("https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data", "housing.data")
In this way you use pure Julia to download the file rather then various system tools and maintain the homogeneous behavior of your code across platforms.

JuliaPro can not start in Atom

I just install Julia and then JuliaPro for the IDE.
I can start Julia and work on it normally. However, when I open JuliaPro, I can not start Julia. I got this message after press Enter.
Do you know what happens and how to solve it ?
Press Enter to start Julia.
fatal: error thrown and no exception handler available.
InitError(mod=:BinaryProvider, error=ErrorException("No download engines found. We looked for: power
shell, C:\Windows\System32\WindowsPowerShell\v1.0\powershell, curl, wget, fetch, busybox. Install on
e and ensure it is available on the path.
"))
rec_backtrace at /home/Administrator/buildbot/worker/package_win64/build/src\stackwalk.c:94
record_backtrace at /home/Administrator/buildbot/worker/package_win64/build/src\task.c:246
jl_throw at /home/Administrator/buildbot/worker/package_win64/build/src\task.c:577
error at .\error.jl:33
macro expansion at .\logging.jl:318 [inlined]
#probe_platform_engines!#30 at C:\Users\julia\AppData\Local\Julia-1.0.1\share\julia\stdlib\v1.0\Bina
ryProvider\src\PlatformEngines.jl:258
unknown function (ip: 0000000012498FCE)
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1831
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2184 [inlined]
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1537 [inlined]
jl_invoke at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:56
probe_platform_engines! at C:\Users\julia\AppData\Local\Julia-1.0.1\share\julia\stdlib\v1.0\BinaryPr
ovider\src\PlatformEngines.jl:134 [inlined]
__init__ at C:\Users\julia\AppData\Local\Julia-1.0.1\share\julia\stdlib\v1.0\BinaryProvider\src\Bina
ryProvider.jl:28
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2184
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1537 [inlined]
jl_module_run_initializer at /home/Administrator/buildbot/worker/package_win64/build/src\toplevel.c:
90
_julia_init at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildb
ot/worker/package_win64/build/src\init.c:813
julia_init__threading at /home/Administrator/buildbot/worker/package_win64/build/src\task.c:302
wmain at /home/Administrator/buildbot/worker/package_win64/build/ui\repl.c:227
__tmainCRTStartup at /usr/src/debug/mingw64-x86_64-runtime-5.0.3-1/crt\crtexe.c:329
mainCRTStartup at /usr/src/debug/mingw64-x86_64-runtime-5.0.3-1/crt\crtexe.c:212
BaseThreadInitThunk at C:\windows\system32\kernel32.dll (unknown line)
RtlUserThreadStart at C:\windows\SYSTEM32\ntdll.dll (unknown line)
At the first time Atom installs at Julia Atom.jl at Juno.jl packages.
Start a Julia console (outside of Atom), go to package manager by pressing ] and type:
(v1.0) pkg> add Juno
(v1.0) pkg> add Atom
Just in case check if they precompile:
julia> using Juno
julia> using Atom
Once installed, go to Atom options by pressing Ctrl+,. Now select Packages and for julia-client click settings - in the settings Julia Path enter the full path for your Julia executable (the same one that has Juno and Atom installed).
Now Julia has good chance to work.
If it does not try to delete the .atom folder (it can be found at JuliaPro-1.0.1.1/.atom or at YOUR_HOME_DIRECTORY/.atom). Sometimes Atom package updates cause Atom Juno to stop working properly and this is the only good option.
Let me know if that helped.

Directory not found when using Drat on a network drive

I have developed a package that I want to share with my colleagues at work.
I have a network drive in which I created the local repository structure that looks like this:
MyRepo
\__bin
\__windows
\__contrib
\__src
\__contrib
All folders are empty.
So I built my package with RStudio on Windows using the "Build/More/Build source package" menu, which created a tar.gz file.
Then I tried:
drat::insertPackage("../myPkg_0.0.0.9000.tar.gz",
repodir = "file://networkdrive/path/to/MyRepo",
action = "prune")
But this gives me an error:
Error: Directory file://networkdrive/path/to/MyRepo not found
Which is strange because file.exists(//networkdrive/path/to/MyRepo) returns true.
OK, then I tried:
drat::insertPackage("../myPkg_0.0.0.9000.tar.gz",
repodir = "//networkdrive/path/to/MyRepo",
action = "prune")
Without the file: in the repository path and I get another error:
tar (child): "//networkdrive/path/to/MyRepo/src/contrib/myPkg_0.0.0.9000.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
/usr/bin/tar: Child returned status 2
/usr/bin/tar: myPkg/DESCRIPTION: Not found in archive
/usr/bin/tar: Exiting with failure status due to previous errors
reading DESCRIPTION for package ‘myPkg’ failed with message:
cannot open the connection
But when I go in the "//networkdrive/path/to/MyRepo/src/contrib" folder, I can definitely see the myPkg_0.0.0.9000.tar.gz file that has been copied despite the error message.
Can anyone help?
> sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252 LC_MONETARY=French_France.1252 LC_NUMERIC=C LC_TIME=French_France.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] drat_0.1.2 tools_3.3.3 git2r_0.18.0
I know this is old, but my colleague just came across the same problem and found this post. I believe the issue may be the lack of a trailing slash in your directory name. I have been able to recreate the error with a mapped network drive. I can resolve the issue by using "H:/MyRepo/" instead of "H:/MyRepo".
I haven't tried it with the "file://" format, but I wanted to include my answer in case someone else comes across this question.
Ok, so after some research, here is my conclusions.
It cannot be done
It's not Drat's fault
The reason why it does not work is that the tools::write_PACKAGES function does not work on network drives. Period.
I manually copied my package on the network drive, then ran setwd() to its location and executed write_PACKAGES(".", type="source") and I got the same error.
So to make this work, I just left my package.tar.gz file on a local drive, ran the tools::write_PACKAGES command locally and then moved the files to the network drive.
Adding the network drive to my repository list using options(repos = c(MyRepo = "file://networkdrive/path/to/MyRepo/")) works: RStudio and available.packages find my package.
It's not completely satisfactory, but I think it's the only way today.
I was having this problem as well and finally got to the bottom of it today.
For me, the problem was not isolated to just network locations but also occurred on C: drive. The root cause was the version of tar.exe being used to unpack the existing packages in the package directory. Calls to utils::untar are made in the tools::write_PACKAGES function.
The documentation for utils::untar explains that on Windows, external tar.exe is tried first. Sure enough, I had a version installed with Git which when used with default arguments fails when a colon is in the file name. I was able to force utils::untar to use to use the RBuildTools version of tar.exe instead by setting the environment variable TAR to "internal".
drat::insertPackage now works.

Resources