mirage/qubes-mirage-firewall

FTBFS: mirage_clock_lwt.cmi and uplink.cmi make inconsistent assumptions over interface Fmt

dmoerner opened this issue · 2 comments

I just tried to build with Docker on a Fedora 30 template with the latest git, and got the following error. I have custom rules files but I don't think they are causing this problem. Relevant errors:

Successfully built 930b4d550bb7
Building Firewall...
mirage build
ocamlfind ocamldep -package vchan -package tcpip -package shared-memory-ring -package netchannel -package mirage-xen -package mirage-types-lwt -package mirage-types -package mirage-runtime -package mirage-qubes -package mirage-protocols -package mirage-net-xen -package mirage-nat -package mirage-logs -package mirage-clock-freestanding -package lwt -package ipaddr -package functoria-runtime -package ethernet -package cstruct -package astring -package arp-mirage -package arp -predicates mirage_xen -modules main.ml > main.ml.depends
ocamlfind ocamldep -package vchan -package tcpip -package shared-memory-ring -package netchannel -package mirage-xen -package mirage-types-lwt -package mirage-types -package mirage-runtime -package mirage-qubes -package mirage-protocols -package mirage-net-xen -package mirage-nat -package mirage-logs -package mirage-clock-freestanding -package lwt -package ipaddr -package functoria-runtime -package ethernet -package cstruct -package astring -package arp-mirage -package arp -predicates mirage_xen -modules key_gen.ml > key_gen.ml.depends
ocamlfind ocamlc -c -g -g -bin-annot -safe-string -principal -strict-sequence -w A-4 -package vchan -package tcpip -package shared-memory-ring -package netchannel -package mirage-xen -package mirage-types-lwt -package mirage-types -package mirage-runtime -package mirage-qubes -package mirage-protocols -package mirage-net-xen -package mirage-nat -package mirage-logs -package mirage-clock-freestanding -package lwt -package ipaddr -package functoria-runtime -package ethernet -package cstruct -package astring -package arp-mirage -package arp -predicates mirage_xen -w A-4-41-42-44 -o key_gen.cmo key_gen.ml
ocamlfind ocamlc -c -g -g -bin-annot -safe-string -principal -strict-sequence -w A-4 -package vchan -package tcpip -package shared-memory-ring -package netchannel -package mirage-xen -package mirage-types-lwt -package mirage-types -package mirage-runtime -package mirage-qubes -package mirage-protocols -package mirage-net-xen -package mirage-nat -package mirage-logs -package mirage-clock-freestanding -package lwt -package ipaddr -package functoria-runtime -package ethernet -package cstruct -package astring -package arp-mirage -package arp
-predicates mirage_xen -w A-4-41-42-44 -o unikernel.cmo unikernel.ml
+ ocamlfind ocamlc -c -g -g -bin-annot -safe-string -principal -strict-sequence -w A-4 -package vchan -package tcpip -package shared-memory-ring -package netchannel -package mirage-xen -package mirage-types-lwt -package mirage-types -package mirage-runtime -package mirage-qubes -package mirage-protocols -package mirage-net-xen -package mirage-nat -package mirage-logs -package mirage-clock-freestanding -package lwt -package ipaddr -package functoria-runtime -package ethernet -package cstruct -package astring -package arp-mirage -package arp -predicates mirage_xen -w A-4-41-42-44 -o unikernel.cmo unikernel.ml
File "unikernel.ml", line 1:
Error: The files /home/opam/.opam/4.07/lib/mirage-clock-lwt/mirage_clock_lwt.cmi
       and uplink.cmi make inconsistent assumptions over interface Fmt
Command exited with code 2.
run ['ocamlbuild' '-use-ocamlfind' '-classic-display' '-tags'
     'predicate(mirage_xen),warn(A-4-41-42-44),debug,bin_annot,strict_sequence,principal,safe_string'
     '-pkgs'
     'arp,arp-mirage,astring,cstruct,ethernet,functoria-runtime,ipaddr,lwt,mirage-clock-freestanding,mirage-logs,mirage-nat,mirage-net-xen,mirage-protocols,mirage-qubes,mirage-runtime,mirage-types,mirage-types-lwt,mirage-xen,netchannel,shared-memory-ring,tcpip,vchan'
     '-cflags' '-g' '-lflags'
     '-g,-dontlink,unix,-dontlink,str,-dontlink,num,-dontlink,threads'
     '-tag-line' '<static*.*>: warn(-32-34)' '-Xs'
     '_build-solo5-hvt,_build-ukvm' 'main.native.o']: exited with 10
Makefile:18: recipe for target 'build' failed
make: *** [build] Error 1

You probably have some old build artefacts in your _build directory. Try deleting it and running the build script again.

(Mirage is in the process of moving to a new build system that doesn't have this problem)

Thanks for the tip, that fixed the problem.