-
Notifications
You must be signed in to change notification settings - Fork 9
Microsoft Windows Problems and Workarounds
Compared to running DeGAUSS on a macOS or linux system, there are a few known issues and workarounds for using DeGAUSS on Microsoft Windows:
Calling DeGAUSS results in an error along the lines of:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: invalid reference format.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
or DeGAUSS complains that it cannot find the my_address.csv
file within the working directory of /tmp
The point of the -v argument is to bind the current directory to the “/tmp” directory inside of the container so that the code inside can find the input files and write the output file back to the current working directory on the host platform.
The Windows Command Line (cmd
) does not support the $PWD
environment variable and so instead of using that to specify the bind point (-v $PWD:/tmp
) you will have to use a Command Line variable, %cd
, for example: -v %cd%:/tmp
.
Alternatively, you can specify the full path to the folder, substituting /
for \
. For example: -v C:/Temp/docker_testing:/tmp
Within Windows terminal, trying to pull or run a Docker container results in an error: docker image operating system "linux" cannot be used on this platform
By default, Docker for Windows is setup to run Windows Containers and is not compatible with Linux Containers. To change this setting, right click on the Docker logo in the toolbar menu and choose Switch to Linux Containers...
When running a DeGAUSS container on Windows it results in an error:
Error in fifo(tempfile(), open = "w+b", blocking = T) :
cannot open the connection
Execution halted
This error occurs because some Windows platforms cannot support the R code used for parallel computing. Although this option is enabled by default and cannot be changed by the user, a workaround is to set the Docker host to use only 1 CPU. This can be done in the Docker settings panel and will force the container to use only a single thread.
The only computers available to use DeGAUSS are Windows machines that do not have Windows 10 on them. Docker CE only supports Windows machines with Windows 10 or greater.
Install Docker Toolbox, which is a legacy supported solution to using Docker on systems that don't support Hyper-V: https://docs.docker.com/toolbox/toolbox_install_windows/
After installation, double-click the Docker Quickstart icon on the Desktop to launch a pre-configured Docker toolbox terminal and proceed as usual.