Anybody know why I might be having trouble building 4.02.3 on macOS? I’m trying to pick back up a project that’s languished for a year or so; I have an opam-lockfile with all my dependencies, but I’m having trouble replicating my configuration in 2021, lol.
I’m getting Fatal error: exception Invalid_argument("inet_addr_of_string not implemented"); here’s the full log:
Meta-level note: 4.02.3 was published in July 2015, so we don’t expect it to work that well with newer toolchains / C compilers which introduce new warnings/errors/behaviors on a semi-regular basis.
Lockfiles can produce an illusion of stability if they lock a fixed OCaml environment on top of a moving system.
Ideally I would recommend either updating OCaml to more recent versions from time to time, to avoid this issue (but then one may have to deal with possibly updates to the OCaml dependencies, when the locked versions for some reason do not support a recent OCaml release). Another approach is to use an actually-stable system environment such as a container image or a Nix/Guix-style system.
Yeah, it’s not an, uh, ideal situation — I’m a (sometimes?) BuckleScript guy, and we were already stuck on a really old version when I stepped away from this work.
In fact, the lockfile in this case isn’t intending to future-proof things in the usual way of a lockfile / containerization; it was actually there to document/enforce two nominally-incompatible versions of dependencies which, in fact, where the only versions that would work together. Altogether a nightmare. I’m very apprehensive about attempting to resurrect this fragile nightmare from the grave, heh.
The configure part of the log is unfortunately missing. However, I had forgotten that clang has switched to -fno-common by default too. So your problem might be that you have a stale 4.02.3 opam package without the -fcommon patch. You could try to update it.