Hacker News new | past | comments | ask | show | jobs | submit login

Are there any limitations in the linux binaries that can run in the VM ? (statically linked only ?)



Blink can run both static and dynamic binaries. There are of course caveats. See this section in the README: https://github.com/jart/blink#compiling-and-running-programs...


For dynamic libraries, does it mean a program running inside of blink can make calls to dynamic libraries installed on the host system? If so, cool!


It depends what you mean. For example, I can run `blink curl ...` on Alpine Linux and blink will run the the dynamically linked curl binary that Alpine provides in /usr/bin/curl. So blink programs can leverage system libraries on x86_64 systems. What Blink does not do is translate dynamic ABIs. Here's what I mean by that. Let's say I write an x86_64-linux binary that calls dlopen(). It'll work on Linux. But if I scp that Linux program over to an Apple system, then it's not going to be able to dynamically open MachO .dylib files, because Blink only translates man(2) SYSCALL APIs. It would be able to dynamically load any Linux .so files I copied over though. Some of our users have experimented with this in cool ways. One contributor created a chroot'd folder in a Cygwin environment that contains an rsync'd Alpine Linux userspace (binaries, libraries, configs, and all) and then used blink to launch its /bin/bash shell. This astoundingly produced a mostly working Linux system inside Cygwin!


Is it possible to run Python on it? I guess network I/O is a limitation due to the browser environment?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: