summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/posts/openbsd-compiling-rakudo-star/index.org37
1 files changed, 18 insertions, 19 deletions
diff --git a/content/posts/openbsd-compiling-rakudo-star/index.org b/content/posts/openbsd-compiling-rakudo-star/index.org
index ecb4b90..c2554a8 100644
--- a/content/posts/openbsd-compiling-rakudo-star/index.org
+++ b/content/posts/openbsd-compiling-rakudo-star/index.org
@@ -9,7 +9,7 @@
I really enjoy using [[https://raku.org/][raku]] to write small scripts for system
maintenance and text parsing. Its regex and grammar engine are next
-level. The problem with using it on OpenBSD is that the packaged
+level! The problem with using it on OpenBSD is that the packaged
version is a couple years out of date. The version in ports is from
2018, which contains a bug regarding NativeCall on OpenBSD. Not to
mention it's missing a lot of performance gains and patches.
@@ -32,10 +32,10 @@ fetch= fetches all of the materials required to compile and assemble
the star distribution, and while all of the community modules were
successfully retrieved using =git=, it failed to pull in all 3 major
source components. =MoarVM=, =nqp=, and =rakudo=, are pulled in as
-gzipped tarballs, each of them failing to download correctly. I
-suspect it's an issue with something in the bash scripts. Tar also
-throws a warning about one of its arguments, which has to do with the
-script using a GNU tar specific command.
+gzipped tarballs, each of them failing to download. I suspect it's an
+issue with something in the bash scripts. Tar also throws a warning
+about one of its arguments, which has to do with the script using a
+GNU tar specific command.
#+BEGIN_SRC
[2020-07-25T05:25:33] [NOTIC] Downloading https://www.moarvm.org/releases/MoarVM-2020.02.1.tar.gz to /home/dante/star/tmp/tmp.IMPt8mIFoC
@@ -54,10 +54,9 @@ tar: WARNING! These patterns were not matched:
To work around this I downloaded the required files manually using
OpenBSD's =ftp= command and extracted them into the =src= directory
-that had been created by the script. Another small caveat is that
-MoarVM automatically extracts into a directory called
-=MoarVM-2020.02.1=, which needs to be completely lower-cased for the
-=rstar= to work.
+that had been created by the script. A small caveat is that MoarVM
+automatically extracts into a directory called =MoarVM-2020.02.1=,
+which needs to be completely lower-cased for the =rstar= to work.
#+BEGIN_SRC shell
cd src
@@ -109,8 +108,8 @@ make
While rakudo was compiling, I monitored memory usage in a separate
=tmux= pane, and noticed that the =moarvm= process was using around
760 MB of RAM before it crashed. 768 MB is the maximum amount of ram a
-process can use in OpenBSD under a user with the default login class,
-as specified in =/etc/login.conf=.
+process can use in OpenBSD when run by a user with the default login
+class, as specified in =/etc/login.conf=.
To remedy the problem, I changed my user's class to =staff=, which
grants it a much higher =datasize= limit, among a couple other
@@ -121,12 +120,12 @@ things. If you're interested about how this works, you can check out
doas usermod -L staff dante
#+END_SRC
-After that, I restarted the build and install using the =rstar=
-command as before, just to make sure it sets everything up how it
-wants.
+After that, I restarted the build and install using the =rstar
+install= command as before, just to make sure it sets everything up
+how it wants.
-After a around half an hour of text scrolling, I was finally presented
-the following message.
+After about half an hour of compilation, I was finally presented the
+following message.
#+BEGIN_SRC
[2020-07-25T06:34:06] [INFO] Rakudo Star has been installed into /home/dante/star!
@@ -155,9 +154,9 @@ and inserting the following line.
export PATH HOME TERM
#+END_SRC
-I chose to keep it in the =star= directory instead of installing it to
-=/usr/local= in case the version of rakudo in ports gets updated some
-time.
+I chose to keep it in the =/home/dante/star= directory instead of
+installing it to =/usr/local= in case the version of rakudo in ports
+gets updated some time.
I now have an up to date version of raku running on my OpenBSD
machine!