mirage / mirage-profile

Collect profiling information
BSD 2-Clause "Simplified" License
18 stars 10 forks source link

build is broken with cstruct.3.2.0 #30

Closed hannesm closed 6 years ago

hannesm commented 6 years ago

cstruct 3.2.0 removed its dependency on ocplib-endian.

mirage-profile fails to build without that. see e.g. https://travis-ci.org/mirage/mirage-skeleton/jobs/303932160

I tried to update mirage-profile, but couldn't wrap my head around:

     (select mProf_trace.ml from
      (lwt.tracing -> mProf_trace_with_tracing.ml)
      (!lwt.tracing -> mProf_trace_without_tracing.ml))
     (select mProf.mli from
      (lwt.tracing -> mProf_with_tracing)
      (!lwt.tracing -> mProf_without_tracing))

in src/jbuild -- how would I introduce ocplib-endian ocplib-endian.bigstring dependencies if and only if lwt.tracing is around (since ocplib is only used in mProf_trace_with_tracing.ml)?

hannesm commented 6 years ago

I added an upper bound for mirage-profile in https://github.com/ocaml/opam-repository/pull/10774

gasche commented 6 years ago

Given that ocplib-endian is a rather small library, I think that it would be reasonable to fix the build system by adding it as an unconditional dependency as a first step.

hannesm commented 6 years ago

@gasche true, that patch is in https://github.com/mirage/mirage-profile/pull/31 :)