It can be hard to debug opam dependencies sometimes.
- downgrading alt-ergo from 2.3.0 to 2.1.0: this is partially explained by the fact that frama-c.19.0 explicitly blacklists alt-ergo > 2.2.0. But it's not clear why opam downgraded it to 2.1.0, instead of 2.2.0. For instance, I tested installing 2.2.0, and it installed a new package (psmt2-frontend). Maybe opam's constraint solver tries to minimize the amount of installed packages? Anyway, both versions should work with Frama-C, and both require camlzip.
- I am unable to reproduce the error related to Zip. As virgile said, camlzip is a dependency of alt-ergo, so my opam installs it and then compiles alt-ergo.2.1.0 without issues. If I try to remove camlzip, opam removes alt-ergo as well.
I'm afraid your opam internal state may have reached some inconsistent configuration, or the solver got lost somehow. Trying to reinstall camlzip could help.
Otherwise, we'll need more details about the exact opam state (list of packages installed with `opam list`, for instance, plus `opam config list`) to try and reproduce it.
For information, I am able to install Frama-C 19.0 on a fresh macOS Mojave with Homebrew, without issues. Sierra should get the same results, since it is still supported by Homebrew.