Unable to compile pg_query on win32

When trying opam install pg_query on Windows (opam.2.2.0~beta1, mingw), I have the following error:

[ERROR] Package conflict!
  * Missing dependency:
    - core < v0.15
    unmet availability conditions, e.g. 'os != "win32"'

However, when getting the source of pg_query, I find no trace of core in the pg_query.opam. Where does the pointed dependency comes from ?

Note: core.015.1 is installed.

I’m not sure why opam thinks core is the problem but the conflict messages engine is known to be buggy. I’ve added it to the discussion listing the buggy behaviours for a future fix.

The problem in your case though is that the pg_query itself was marked as not available on Windows (see for example on the last two versions here) so the opam solver goes down the available versions for pg_query and it turns out that pg_query.0.9.5 is not marked as unavailable but requires core < v0.15 which is not available on your setup for some reason (have you pinned core locally? opam pin list)

Weird. I have got my pg_query.0.9.7 (opam source pg_query), and there are no trace of windows incompatibility ! Perhaps the opam file you point is created afterward and is not part of the source.

I can even try to compile from it opam pin .… but I have some issues: depracated functions… easy to overcome, and more difficult ones (netdb.h dependency). I think I have some work to do which is unrelated to opam…

My repo seems correct:

$opam repo -a
# Repository # Url
          # Switches(rank)
default      git+https://github.com/ocaml-opam/opam-repository-mingw
          <default> default 4.14.1+msvc64c 4.14.1+msvc32c