diff options
Diffstat (limited to 'gph/bb85caff.txt')
-rw-r--r-- | gph/bb85caff.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gph/bb85caff.txt b/gph/bb85caff.txt new file mode 100644 index 0000000..d6cef84 --- /dev/null +++ b/gph/bb85caff.txt @@ -0,0 +1,25 @@ +ID: bb85caff-be39-47b0-9add-42fae180c796 +Title: OCaml static linking +Authors: Nova[有線魔女] <novaburst@envs.net> +Date: 2021-09-28T13:36:52-00:00 +Date-Edited: 2022-01-25T13:03:02-03:00 +Topics: Computing > Programming > OCaml + +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/> |