about summary refs log tree commit diff stats
path: root/gmi/bb85caff.gmi
diff options
context:
space:
mode:
Diffstat (limited to 'gmi/bb85caff.gmi')
-rw-r--r--gmi/bb85caff.gmi26
1 files changed, 26 insertions, 0 deletions
diff --git a/gmi/bb85caff.gmi b/gmi/bb85caff.gmi
new file mode 100644
index 0000000..a15a689
--- /dev/null
+++ b/gmi/bb85caff.gmi
@@ -0,0 +1,26 @@
+# OCaml static linking
+Authors: Nova[有線魔女] <novaburst@envs.net>
+Date: 2022 01 25
+
+Since quite a while ago (a month or so I guess) I had read this blog post by OCamlPro[1] about generating static PIE with OCaml.
+The first project on where I have tried doing so was Logarion[2] , and afterwards bumpmap-tool[2], each using a different build system.
+In the 1st case I had to add the field '(flags (:standard -cclib -static))' to the 'cli/dune' file and rebuilt with 'dune build'
+As for the 2nd case I added '-cclib -static' to the 'ocamlopt' flags in the command line and rebuilt.
+
+I ran the ldd command in both (test done on a musl-based distro) only to have this output:
+	- /lib/ld-musl-x86_64.so.1: (insert executable name here): Not a valid dynamic program
+
+Which means that it does actually work, but I'm not sure whether it could work for bigger projects.
+I think that's all I've got to say here.
+
+##Links
+[1]: 
+=> https://www.ocamlpro.com/2021/09/02/generating-static-and-portable-executables-with-ocaml/
+[2]: 
+=> http://logarion.orbitalfox.eu
+[3]: 
+=> https://git.sr.ht/~novaburst-dev/bumpmap-tool
+
+##Extras
+[Static builds of my own branch of Logarion]: 
+=> https://novaburst.bsd.tilde.team/logarion/
\ No newline at end of file