83 karma · joined June 20, 2018
Attempting to compile a small program, the first barrier I came across started from running cat > hello.c, but after typing the program I found there was no way to enter ^D. There are mentions of Ctrl characters on GitHub but nothing clear in the Help options.
So then I tried a herestring with cat > hello.c <<EOF, but herestrings do not seem to work in this shell (no > prompt and does not exit after typing EOF). At this point I tried multiple echo lines: While I could put one starting line, appending to an existing file with >> seems to have no effect.
As my intent is only to test clang, I settled for a one-line C program like int main() {}. clang hello.c then gave an error: Executable "ld" didn't exist!
Well, I'm here to test the compiler not the linker, so then resorted to clang -c hello.c and it successfully generated a hello.o object. Yet I'm unable to analyze the output without the objdump or file commands.
At this point LibTerm may be rather unsuitable for using clang, but running the help command shows other handy *nix tools, including Lua and Python.
At best we can estimate a lower bound for the cost. 1,060 * $27 = $28,620
*Depends on actual bulk pricing for Pi 3B+
Is this referring specifically to their in-order cores (Cortex-A53, A35), out-of-order cores (Cortex-A72, A73), or big.LITTLE configurations in general? *
Thinking more broadly, the next era of power-efficient computing may depend more on heterogeneous architectures than the CPU alone. The Arm ML Processor IP and corresponding offerings from competitors play a large role in this.
* Can be generalized to custom cores designed by NVIDIA, Qualcomm, Samsung, Apple, and other vendors.
https://news.ycombinator.com/item?id=20695806 "The not so hidden cost of sharing code between iOS and Android" (dropbox.com)
-----------------
kinnison commented on Jun 6
We do care we care greatly. Sadly while we have someone volunteering to help us with sorting out code-signing, it is a complex logistical problem because there's not (yet) a mechanism in place for the project to hold a legal entity to be identified by the certificates.
Does not appear to be affiliated, but launched "Last week in AWS" more than 2 years ago so may know a thing or two.
https://www.linkedin.com/in/coquinn/
Discussed here: https://github.com/rust-lang/rustup.rs/issues/1568
It boils down to that the authors have not gotten around to it and are not experts on Authenticode. Apparently the macOS binary is also not signed, so at least Windows isn't being singled out.
To validate your binary you can use the SHA256 checksum that someone posted in the issue two days ago.
I've also wondered what it would take to do multi-architecture dynamic linking in qemu-user. Such a capability would avoid one shortcoming of Box86, the current lack of dynamic recompilation.
I suspect that modifying QEMU in this way is not trivial.
I don't know if this design currently depends on specifics of the armhf ABI vs aarch64.
With regard to the market, 64-bit SBCs (such as Raspberry Pi 4) often run 32-bit operating systems such as Raspbian. Even 64-bit ARM operating systems such as Ubuntu, Gentoo, and Manjaro are capable of running 32-bit software such as this via multiarch, chroot, or containers.
However, there's already an easier way to run Netflix on a Pi 4 natively. Someone figured out to just to grab the armv7l libwidevine binary from Chrome OS: https://blog.vpetkov.net/2019/07/12/netflix-and-spotify-on-a...
* https://news.ycombinator.com/item?id=19389120
* https://news.ycombinator.com/item?id=19400920
I think there are a couple factors that have limited the awareness of Box86. One is having the word "Box" in its title which reminds too much of existing solutions DOSBox or Bochs that already do their job.
The second is occasionally headlining Box86 as an "emulator", taking into account that most of the audience does not get very far into the article. Even if Box86 does use x86 emulation it's important to highlight that libraries like OpenGL and SDL run natively. Compare that framing to WINE, which is so forthcoming on not being an emulator that it's in the name.