Follow

7 on

Downloading the sources with `repo` took 500mins on a 36Mbps connection. `gpg --recv-key` didn't like the hashes because there was no user id or something, so I couldn't verify the signature of the repo tool. Verifying the git tag for one repository worked with the public key block on the download instructions page, but I didn't verify all the repos.

Then building:

`Error: could not find jdk tools.jar at /usr/lib/jvm/java-11-openjdk-amd64/bin/../lib/tools.jar` -> install openjdk-8 (it's gone from newer versions), and use `update-alternatives` to select jdk-8 option for all of `java`, `javac`, `javadoc` (otherwise some parts error out later)

`flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.` ->
```
export LANG=C
export LC_ALL=C
export LANGUAGE=C
```

so far at [ 45% 15429/34113] and using 156G of disk space...

build finished in 3h30m, using 178G of disk space total

Show thread

oh, doesn't seem to include the NDK, and trying to build it complains about
```
prebuilts/ndk/current/toolchains/linux-x86_64/llvm/bin/clang++: Command not found
```
so now I'm trying
```
python external/clang/build.py
```

My eventual end goal is Debian aarch64 NDK binaries that can run on my tablet, so I can code Android apps from Android (running Debian in UserLAnd) without having to port everything to Java, which is likely not efficient enough for audio code.

Probably I'll have to redo the whole process in an emulated aarch64 system, as I don't think it's set up for cross-compilation, and my tablet doesn't have enough space (and is also slow).

Show thread

seems Google really don't make it easy to build the NDK for anyone who is not a developer at Google...

> 4. To update the platform compiler, download the selected package from the build server and extract them to the appropriate prebuilts directory. The new directory will be named “clang-BUILD_NUMBER”.

android.googlesource.com/platf

> TODO: This process is far too manual. checkbuild.py should be updated (or additional scripts added) to ease this process.

android.googlesource.com/platf

Show thread

Think I might just dump this experiment and try to see if I can get a web server running on my tablet that can multitask w.r.t. its browser, so that I can develop web apps using Emscripten (assuming it's possible to get Emscripten for aarch64 in 2GB RAM and 1GB swap without root...). In my tests on amd64, WASM was only about 2x slower than machine code...

Show thread

Got Binaryen compiled without any troubles, took an hour on my tablet.

LLVM from Debian is complete with the WASM backend, lucky as I don't fancy compiling it... though it is version 10 and seems Emscripten 1.39.18 wants 11, already had to patch out `-fignore-exceptions` as not understood by `clang-10`, and also had to make a load of symlinks in `/usr/bin` for LLVM tools to the versioned versions.

Show thread

`.emscripten` path for Binaryen should be `/home/claude/opt` not `/home/claude/opt/bin`, and changing `.emscripten` triggers a rebuild of everything. The wrong path was only noticable at the final link stage...

Show thread

```
python -m SimpleHTTPServer 8089
```
In UserLAnd seems to work fine in Chrome on the same tablet. Tested with Barry compiled from C source on the tablet.

Show thread
Sign in to participate in the conversation
post.lurk.org

Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.