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

dnvm upgrade can't install DNX runtimes #217

Closed
duraz0rz opened this issue Apr 16, 2016 · 5 comments
Closed

dnvm upgrade can't install DNX runtimes #217

duraz0rz opened this issue Apr 16, 2016 · 5 comments

Comments

@duraz0rz
Copy link

Followed the instructions on here: http://docs.asp.net/en/latest/getting-started/installing-on-linux.html

The apt packages install, dnvm installs and runs, but running dnvm upgrade to install the CoreCLR causes this error:

root@localhost:~# dnvm upgrade -r coreclr
Determining latest version
bash: /dev/fd/62: No such file or directory
Error: Could not find latest version from feed https://www.nuget.org/api/v2
root@localhost:~# bash: echo: write error: Broken pipe

root@localhost:~#

Is there something I'm missing?

@patryk9200
Copy link

patryk9200 commented Apr 18, 2016

It's known issue (broken pipe), related to: #14
MS is working on fix.

@duraz0rz
Copy link
Author

duraz0rz commented Apr 19, 2016

Did some more digging because I was curious and the error didn't seem like the others in #14 . The following line breaks in dnvm.sh (line 629):

read versionOrAlias downloadUrl < <(__dnvm_find_latest "$runtime" "$arch" "$os")

__dnvm_find_latests ends with an echo statement, so I sort of reproduced it below:

root@localhost:~# hi=hello
root@localhost:~# echo $hi
hello
root@localhost:~# read hello < <($(echo $hi))
bash: /dev/fd/62: No such file or directory
root@localhost:~# The program 'hello' can be found in the following packages:
 * hello
 * hello-debhelper
Try: apt-get install <selected package>
The program 'hello' can be found in the following packages:
 * hello
 * hello-debhelper
Try: apt-get install <selected package>

root@localhost:~#

Then just using plain process subsitution:

root@localhost:~# read hello < <(ls -la)
bash: /dev/fd/62: No such file or directory
root@localhost:~# ls: write error: Broken pipe

root@localhost:~#

I would expect the following (this is in Cygwin...don't have a Linux install nearby):

duraz0rz@Express-Emotion ~
$ echo $hello


duraz0rz@Express-Emotion ~
$ read hello < <(ls -la)

duraz0rz@Express-Emotion ~
$ echo $hello
total 46K

It seems like creating the temporary named pipe (/dev/fd/62) for the process subsitution is not working. Assuming mkfifo is used to create the named pipe, #71 should fix this issue.

Furthermore, the symlink /dev/fd/ -> /proc/self/fd does not exist. Not sure if that would cause a problem, though, but I would think that's how it would be set up.

@patryk9200
Copy link

@duraz0rz There is no device like /dev/fd/.
Type ls /dev/ in bash.

There is similar problem in
#14 (comment)

@duraz0rz
Copy link
Author

/dev/fd/ is symlinked to /proc/self/fd/ in other systems. I'm assuming <(ls

  • la) runs the program in another process, creates a named pipe called
    /dev/fd/62, and pipes the output of the spawned process to that named pipe
    before piping it into the other process.

On Tue, Apr 19, 2016, 01:05 Patryk Golus notifications@github.com wrote:

@duraz0rz https://github.com/duraz0rz There is no device like /dev/fd/.
Type ls /dev/ in bash.

There is similar problem in
#14 (comment)
#14 (comment)


You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub
#217 (comment)

@benhillis
Copy link
Member

Process substitution is working in a more recent Windows Insider build. Please reopen if you continue to see issues.

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

3 participants