如何编译统一的静态版本

时间:2018-11-30 07:56:55

标签: makefile ocaml static-linking unison

在我的OS X盒子上,brew install unison给我的版本是2.51.2。但是我需要与之同步的系统运行的CentOS 6.10似乎没有现有的2.51.2二进制文件。我也无法从该计算机上的源代码进行编译,因为它没有正确的工具,而且我不是root用户。

为解决这个问题,我想在我作为root的Ubuntu计算机上从源代码编译unison。但这必须是在CentOS机器上运行的静态编译。

  

如何创建一个统一的静态二进制文件?

Makefile的行为include src/Makefile.OCaml,但我对OCaml一无所知,并且不确定要更改为静态二进制文件需要做什么。

1 个答案:

答案 0 :(得分:2)

在Makefile中,应该有一行STATIC = false。可以将其更改为true,或者仅使用行make STATIC=true进行编译。

请注意,根据this blog postSTATIC选项至少在2.32.52版之前没有执行任何操作,我发现change log中没有任何变化表明这个问题已经解决,但是博客文章的作者说,并且我已经确认,为latest version of Unison, 2.48构建静态二进制文件是可行的。