Installing gibak on Snow Leopard
Gibak is an OCaml wrapper for Git to make it easier to use Git for backing up your hard disk, or parts thereof. I probably should just start paying for DropBox already, but I still feel a little worried about moving eg ~/Library/ into the Dropbox folder and symlinking it.
Unfortunately the original author Mauricio Fernandez hasn’t been maintaining it recently, but the wonders of Github mean it’s had several collaborative bug fixes. I’ve used a fork by Chris Johnsen.
However I had some trouble getting it to compile, with this error:
*** omake: reading OMakefiles
*** omake: finished reading OMakefiles (0.09 sec)
- build . find-git-repos.o
+ ocamlfind ocamlopt -package fileutils,unix -warn-error A -dtypes
-inline 10 -S -I . -c find-git-repos.ml
File "find-git-repos.ml", line 1, characters 0-1:
Warning X: bad source file name: "Find-git-repos" is not a valid module name.
File "find-git-repos.ml", line 1, characters 0-1:
Error: Error-enabled warnings (1 occurrences)
*** omake: 23/49 targets are up to date
*** omake: failed (0.22 sec, 0/3 scans, 1/7 rules, 1/83 digests)
*** omake: targets were not rebuilt because of errors:
find-git-repos.cmi
depends on: find-git-repos.ml
find-git-repos.cmx
depends on: find-git-repos.ml
find-git-repos.o
depends on: find-git-repos.ml
After getting completely stuck I asked Chris for help, and he very kindly figured out my problem. Due to a change in ocaml-fileutils-0.4.0 I needed to change line 8 of gibak oametastore.ml from open FileUtil.StrUtil to:
open FileUtil
I also needed to change the OMakeFile to include the path to ocaml-fileutils and suppress the module name error ocaml-3.11.0 generates:
INCLUDES += /opt/local/lib/ocaml/site-lib/fileutils
OCAMLFLAGS += -warn-error x
Chris is adding these changes to his gibak fork, so you should just clone that and take it from there (see the wiki for more info). Thanks again for your help Chris, and also to Jay Levitt!