www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D support for ChromeOS

reply Daniel Kozak <kozzi11 gmail.com> writes:
Today I have added basic support for D language (ldc and dub) to 
chromebrew: https://github.com/skycocker/chromebrew/pull/1717

So if you have ChromeBook with Chrome OS (developer mode is 
needed for chromebrew), you can try it, if everything works ok 
for you.
Feb 03 2018
next sibling parent bachmeier <no spam.net> writes:
On Saturday, 3 February 2018 at 18:11:15 UTC, Daniel Kozak wrote:
 Today I have added basic support for D language (ldc and dub) 
 to chromebrew: https://github.com/skycocker/chromebrew/pull/1717

 So if you have ChromeBook with Chrome OS (developer mode is 
 needed for chromebrew), you can try it, if everything works ok 
 for you.
Thanks for this. I've got a chromebook and will try it out. Crouton has been less than impressive. Never heard of chromebrew before.
Feb 03 2018
prev sibling parent reply Emil <emilper gmail.com> writes:
On Saturday, 3 February 2018 at 18:11:15 UTC, Daniel Kozak wrote:
 Today I have added basic support for D language (ldc and dub) 
 to chromebrew: https://github.com/skycocker/chromebrew/pull/1717

 So if you have ChromeBook with Chrome OS (developer mode is 
 needed for chromebrew), you can try it, if everything works ok 
 for you.
Tried it on an Acer Chromebook R13 running Version 69.0.3497.35 (Official Build) dev (32-bit). I have no previous experience with llvm. dub init ran fine. getting this error when trying to run dub in the newly created project chronos localhost ~/work/my_test $ dub Failed to invoke the compiler /usr/local/bin/ldc2 to determine the build platform: /usr/local/bin/ldc2: error while loading shared libraries: libLLVMLTO.so.5: cannot open shared object file: No such file or directory when running ldc2 chronos localhost ~/work/my_test $ ldc2 ldc2: error while loading shared libraries: libLLVMLTO.so.5: cannot open shared object file: No such file or directory I do have another version installed though: chronos localhost ~/work/my_test $ locate libLLVMLTO /mnt/stateful_partition/dev_image/lib/libLLVMLTO.so /mnt/stateful_partition/dev_image/lib/libLLVMLTO.so.6 /mnt/stateful_partition/dev_image/lib/libLLVMLTO.so.6.0.0 /usr/local/lib/libLLVMLTO.so /usr/local/lib/libLLVMLTO.so.6 /usr/local/lib/libLLVMLTO.so.6.0.0 trying to build ldc: chronos localhost ~/work/my_test $ crew build ldc (i) ldc: D language compiler using LLVM. https://github.com/ldc-developers/ldc version 1.7.0 Downloading source... Archive downloaded Unpacking archive, this may take awhile... Building from source, this may take a while... Rename all *.la files to *.la_tmp % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 610 0 610 0 0 742 0 --:--:-- --:--:-- --:--:-- 778 100 4888k 100 4888k 0 0 437k 0 0:00:11 0:00:11 --:--:-- 749k cmake: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by cmake) cmake: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by cmake) cmake: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by cmake) ldc failed to build: `cmake -Bbuild/ldc-0.17.5-src -Hbuild/ldc-0.17.5-src` exited with 1 chronos localhost ~/work/my_test $ uname -a 10 09:50:22 PDT 2018 aarch64 ARMv8 Processor rev 2 (v8l) GNU/Linux chronos localhost ~/work/my_test $ cat /proc/cpuinfo processor : 0 model name : ARMv8 Processor rev 2 (v8l) Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 2
Aug 21 2018
parent reply Joakim <dlang joakim.fea.st> writes:
On Tuesday, 21 August 2018 at 20:29:34 UTC, Emil wrote:
 On Saturday, 3 February 2018 at 18:11:15 UTC, Daniel Kozak 
 wrote:
 [...]
Tried it on an Acer Chromebook R13 running Version 69.0.3497.35 (Official Build) dev (32-bit). I have no previous experience with llvm. [...]
Looks like your Chromebook's got a MediaTek AArch64 processor, ie 64-bit ARM, which wasn't supported by D until the just released LDC 1.11. I'd try building 1.11 from source, using these instructions: https://wiki.dlang.org/Building_LDC_from_source You will need a working CMake though, looks like the one you're trying to use isn't running.
Aug 21 2018
parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 22 August 2018 at 01:48:01 UTC, Joakim wrote:
 On Tuesday, 21 August 2018 at 20:29:34 UTC, Emil wrote:
 On Saturday, 3 February 2018 at 18:11:15 UTC, Daniel Kozak 
 wrote:
 [...]
Tried it on an Acer Chromebook R13 running Version 69.0.3497.35 (Official Build) dev (32-bit). I have no previous experience with llvm. [...]
Looks like your Chromebook's got a MediaTek AArch64 processor, ie 64-bit ARM, which wasn't supported by D until the just released LDC 1.11. I'd try building 1.11 from source, using these instructions: https://wiki.dlang.org/Building_LDC_from_source You will need a working CMake though, looks like the one you're trying to use isn't running.
Oh, I forgot, if you're running Android apps in your Chromebook, you can install the Termux app and use LDC through there: https://play.google.com/store/apps/details?id=com.termux&hl=en The first AArch64 build of LDC for Termux should be up in a day or so, `apt install ldc`, or you can build it from source in Termux, if you can't wait. ;)
Aug 21 2018
parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Wednesday, 22 August 2018 at 01:56:45 UTC, Joakim wrote:
unning.
[...]
 Oh, I forgot, if you're running Android apps in your 
 Chromebook, you can install the Termux app and use LDC through 
 there:

 https://play.google.com/store/apps/details?id=com.termux&hl=en

 The first AArch64 build of LDC for Termux should be up in a day 
 or so, `apt install ldc`, or you can build it from source in 
 Termux, if you can't wait. ;)
+1 ; Cool, not sure if I can wait, but probably I will :-)
Aug 22 2018
parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 22 August 2018 at 07:14:22 UTC, Martin Tschierschke 
wrote:
 On Wednesday, 22 August 2018 at 01:56:45 UTC, Joakim wrote:
 unning.
 [...]
 Oh, I forgot, if you're running Android apps in your 
 Chromebook, you can install the Termux app and use LDC through 
 there:

 https://play.google.com/store/apps/details?id=com.termux&hl=en

 The first AArch64 build of LDC for Termux should be up in a 
 day or so, `apt install ldc`, or you can build it from source 
 in Termux, if you can't wait. ;)
+1 ; Cool, not sure if I can wait, but probably I will :-)
I must say I really like looking at this version string, straight from the Termux app: $ ldc2 --version LDC - the LLVM D compiler (1.11.0): based on DMD v2.081.2 and LLVM 6.0.1-2 built with LDC - the LLVM D compiler (1.11.0) Default target: aarch64--linux-android Host CPU: cortex-a73 http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64 - AArch64 (little endian) aarch64_be - AArch64 (big endian) arm - ARM arm64 - ARM64 (little endian) armeb - ARM (big endian) thumb - Thumb thumbeb - Thumb (big endian) x86 - 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64
Aug 22 2018
parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 22 August 2018 at 10:06:39 UTC, Joakim wrote:
 On Wednesday, 22 August 2018 at 07:14:22 UTC, Martin 
 Tschierschke wrote:
 On Wednesday, 22 August 2018 at 01:56:45 UTC, Joakim wrote:
 unning.
 [...]
 Oh, I forgot, if you're running Android apps in your 
 Chromebook, you can install the Termux app and use LDC 
 through there:

 https://play.google.com/store/apps/details?id=com.termux&hl=en

 The first AArch64 build of LDC for Termux should be up in a 
 day or so, `apt install ldc`, or you can build it from source 
 in Termux, if you can't wait. ;)
+1 ; Cool, not sure if I can wait, but probably I will :-)
I must say I really like looking at this version string, straight from the Termux app: $ ldc2 --version LDC - the LLVM D compiler (1.11.0): based on DMD v2.081.2 and LLVM 6.0.1-2 built with LDC - the LLVM D compiler (1.11.0) Default target: aarch64--linux-android Host CPU: cortex-a73 http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64 - AArch64 (little endian) aarch64_be - AArch64 (big endian) arm - ARM arm64 - ARM64 (little endian) armeb - ARM (big endian) thumb - Thumb thumbeb - Thumb (big endian) x86 - 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64
It's up: $ apt search ldc Sorting... Done Full Text Search... Done ipcalc/stable 0.41 aarch64 Calculates IP broadcast, network, Cisco wildcard mask, and host ranges ldc/stable 1.11.0 aarch64 D programming language compiler, built with LLVM http://termux.net/dists/stable/main/binary-aarch64/
Aug 22 2018
next sibling parent Martin Tschierschke <mt smartdolphin.de> writes:
On Wednesday, 22 August 2018 at 10:28:32 UTC, Joakim wrote:

 It's up:

 $ apt search ldc
 Sorting... Done
 Full Text Search... Done
 ipcalc/stable 0.41 aarch64
   Calculates IP broadcast, network, Cisco wildcard mask, and 
 host ranges

 ldc/stable 1.11.0 aarch64
   D programming language compiler, built with LLVM

 http://termux.net/dists/stable/main/binary-aarch64/
It is downloading now at 37 % :-), Thank you!
Aug 22 2018
prev sibling parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Wednesday, 22 August 2018 at 10:28:32 UTC, Joakim wrote:
 https://play.google.com/store/apps/details?id=com.termux&hl=en
 $ apt search ldc
 Sorting... Done
 Full Text Search... Done
 ipcalc/stable 0.41 aarch64
   Calculates IP broadcast, network, Cisco wildcard mask, and 
 host ranges

 ldc/stable 1.11.0 aarch64
   D programming language compiler, built with LLVM

 http://termux.net/dists/stable/main/binary-aarch64/
You should post it, as an extra topic on announce: D on Android with Termux LDC now 32 and 64 Bit! ... Thank you - it works!
Aug 28 2018
parent Joakim <dlang joakim.fea.st> writes:
On Tuesday, 28 August 2018 at 12:34:50 UTC, Martin Tschierschke 
wrote:
 On Wednesday, 22 August 2018 at 10:28:32 UTC, Joakim wrote:
 https://play.google.com/store/apps/details?id=com.termux&hl=en
 $ apt search ldc
 Sorting... Done
 Full Text Search... Done
 ipcalc/stable 0.41 aarch64
   Calculates IP broadcast, network, Cisco wildcard mask, and 
 host ranges

 ldc/stable 1.11.0 aarch64
   D programming language compiler, built with LLVM

 http://termux.net/dists/stable/main/binary-aarch64/
You should post it, as an extra topic on announce: D on Android with Termux LDC now 32 and 64 Bit! ... Thank you - it works!
I did, though not as a new topic: https://forum.dlang.org/post/zgjzldisifhkgcgxkqsd forum.dlang.org I'm updating the wiki on how to use it and getting rid of the main function requirement, then I'll write up a post for Mike on the D blog.
Aug 28 2018