ocaml / opam

opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
https://opam.ocaml.org
Other
1.23k stars 351 forks source link

Weird recompilations on pinned repo install #774

Closed dbuenzli closed 11 years ago

dbuenzli commented 11 years ago
> opam --git-version
92d02d4eaa3deb09f04c5ce3325fa4ef945e2009

> opam info ctypes
             package: ctypes
             version: pinned
              pinned: true
        upstream-url: https://github.com/ocamllabs/ocaml-ctypes.git
       upstream-kind: git
             depends: ocamlfind & ounit & (oasis >= 0.3.0 | oasis-mirage >= 0.3.0)
  available-versions: 0.1, 0.1.1
         description: Combinators for binding to C libraries without writing any C.

> opam upgrade
Already up-to-date.

> opam install ctypes
The following actions will be performed:
 - install ounit.1.1.2 [required by ctypes]
 - install type_conv.109.28.00 [required by ctypes]
 - install fileutils.0.4.4 [required by ctypes]
 - install ocaml-data-notation.0.0.10 [required by ctypes]
 - install ocamlmod.0.0.4 [required by ctypes]
 - install oasis-mirage.0.3.0a [required by ctypes]
 - install ctypes.pinned
7 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to remove
Do you want to continue ? [Y/n] 

Here are the details:

> opam install ctypes --debug
00:00.001  021415  21415                      locking /Users/dbuenzli/.opam/lock
00:00.001  021415  FILE(config)               read /Users/dbuenzli/.opam/config
00:00.002  021415  21415                      unlocking /Users/dbuenzli/.opam/lock
00:00.002  021415  SYSTEM                     rm /Users/dbuenzli/.opam/lock
00:00.002  021415  STATE                      LOAD-STATE(switch-lock)
00:00.002  021415  FILE(config)               read /Users/dbuenzli/.opam/config
00:00.009  021415  FILE(aliases)              read /Users/dbuenzli/.opam/aliases
00:00.015  021415  FILE(repo-config)          read /Users/dbuenzli/.opam/repo/pkgopkg/config
00:00.015  021415  FILE(repo-config)          read /Users/dbuenzli/.opam/repo/default/config
00:00.015  021415  FILE(repo-config)          read /Users/dbuenzli/.opam/repo/erratique-u/config
00:00.016  021415  FILE(pinned)               read /Users/dbuenzli/.opam/4.00.1/pinned
00:00.016  021415  FILE(installed)            read /Users/dbuenzli/.opam/4.00.1/installed
00:00.016  021415  FILE(installed.roots)      read /Users/dbuenzli/.opam/4.00.1/installed.roots
00:00.016  021415  FILE(reinstall)            read /Users/dbuenzli/.opam/4.00.1/reinstall
00:00.019  021415  STATE                      ROOT      : /Users/dbuenzli/.opam
00:00.019  021415  STATE                      SWITCH    : 4.00.1
00:00.019  021415  STATE                      COMPILER  : 4.00.1
00:00.019  021415  STATE                      COMPILERS : { 3.11.2, 3.12.1, 3.12.1+natdynlink-osx, 4.00.0, 4.00.0+debug-runtime, 4.00.0+fp, 4.00.1, 4.00.1+BER, 4.00.1+alloc-profiling, 4.00.1+annot, 4.00.1+french, 4.00.1+mirage-unix, 4.00.1+mirage-xen, 4.00.1+open-types, 4.00.1+raspberrypi, 4.00.1+short-types, 4.01.0beta1, 4.01.0beta1+no-camlp4, 4.01.0dev+extension-points, 4.01.0dev+fp, 4.01.0dev+trunk, 4.02.0dev+fp, 4.02.0dev+trunk }
00:00.019  021415  STATE                      REPOS     : { default, erratique-u, pkgopkg }
00:00.019  021415  STATE                      PACKAGES  : 1378 packages
00:00.019  021415  STATE                      INSTALLED : { base-bigarray.base, base-threads.base, base-unix.base, cmdliner.0.9.2, gg.unreleased, jsonm.0.9.1, ocamlfind.1.4.0, ocamlify.0.0.1, ocp-build.1.99.6-beta, ocp-indent.1.3.2, ocp-index.0.3.0, optcomp.1.4, pkgopkg.repo, react.0.9.4, typerex.1.99.6-beta, uuidm.0.9.5, uutf.0.9.3, vg.unreleased, webglue.unreleased, xmlm.1.1.1 }
00:00.019  021415  STATE                      ROOTS     : { base-bigarray.base, base-threads.base, base-unix.base, cmdliner.0.9.2, gg.unreleased, jsonm.0.9.1, ocp-indent.1.3.2, ocp-index.0.3.0, pkgopkg.repo, uuidm.0.9.5, uutf.0.9.3, vg.unreleased, webglue.unreleased, xmlm.1.1.1 }
00:00.019  021415  STATE                      REINSTALL : {}
00:00.020  021415  21415                      locking /Users/dbuenzli/.opam/4.00.1/lock
00:00.020  021415  CLIENT                     INSTALL { ctypes }
00:00.020  021415  STATE                      LOAD-STATE(install)
00:00.020  021415  FILE(config)               read /Users/dbuenzli/.opam/config
00:00.024  021415  FILE(aliases)              read /Users/dbuenzli/.opam/aliases
00:00.030  021415  FILE(repo-config)          read /Users/dbuenzli/.opam/repo/pkgopkg/config
00:00.030  021415  FILE(repo-config)          read /Users/dbuenzli/.opam/repo/default/config
00:00.030  021415  FILE(repo-config)          read /Users/dbuenzli/.opam/repo/erratique-u/config
00:00.031  021415  FILE(pinned)               read /Users/dbuenzli/.opam/4.00.1/pinned
00:00.031  021415  FILE(installed)            read /Users/dbuenzli/.opam/4.00.1/installed
00:00.031  021415  FILE(installed.roots)      read /Users/dbuenzli/.opam/4.00.1/installed.roots
00:00.031  021415  FILE(reinstall)            read /Users/dbuenzli/.opam/4.00.1/reinstall
00:00.035  021415  STATE                      ROOT      : /Users/dbuenzli/.opam
00:00.035  021415  STATE                      SWITCH    : 4.00.1
00:00.035  021415  STATE                      COMPILER  : 4.00.1
00:00.035  021415  STATE                      COMPILERS : { 3.11.2, 3.12.1, 3.12.1+natdynlink-osx, 4.00.0, 4.00.0+debug-runtime, 4.00.0+fp, 4.00.1, 4.00.1+BER, 4.00.1+alloc-profiling, 4.00.1+annot, 4.00.1+french, 4.00.1+mirage-unix, 4.00.1+mirage-xen, 4.00.1+open-types, 4.00.1+raspberrypi, 4.00.1+short-types, 4.01.0beta1, 4.01.0beta1+no-camlp4, 4.01.0dev+extension-points, 4.01.0dev+fp, 4.01.0dev+trunk, 4.02.0dev+fp, 4.02.0dev+trunk }
00:00.035  021415  STATE                      REPOS     : { default, erratique-u, pkgopkg }
00:00.035  021415  STATE                      PACKAGES  : 1378 packages
00:00.035  021415  STATE                      INSTALLED : { base-bigarray.base, base-threads.base, base-unix.base, cmdliner.0.9.2, gg.unreleased, jsonm.0.9.1, ocamlfind.1.4.0, ocamlify.0.0.1, ocp-build.1.99.6-beta, ocp-indent.1.3.2, ocp-index.0.3.0, optcomp.1.4, pkgopkg.repo, react.0.9.4, typerex.1.99.6-beta, uuidm.0.9.5, uutf.0.9.3, vg.unreleased, webglue.unreleased, xmlm.1.1.1 }
00:00.035  021415  STATE                      ROOTS     : { base-bigarray.base, base-threads.base, base-unix.base, cmdliner.0.9.2, gg.unreleased, jsonm.0.9.1, ocp-indent.1.3.2, ocp-index.0.3.0, pkgopkg.repo, uuidm.0.9.5, uutf.0.9.3, vg.unreleased, webglue.unreleased, xmlm.1.1.1 }
00:00.035  021415  STATE                      REINSTALL : {}
00:00.035  021415  FILE(comp)                 read /Users/dbuenzli/.opam/compilers/4.00.1/4.00.1/4.00.1.comp
00:00.069  021415  FILE(opam)                 read /Users/dbuenzli/.opam/4.00.1/overlay/ctypes.pinned/opam
00:00.069  021415  FILE(opam)                 read /Users/dbuenzli/.opam/4.00.1/overlay/ctypes.pinned/opam
00:00.069  021415  SYSTEM                     [log-21415-5a61c5] which aspcud
00:00.088  021415  SOLVER                     resolve request=install:(base-bigarray & base-threads & base-unix & cmdliner & gg & jsonm & ocp-indent & ocp-index & pkgopkg & uuidm & uutf & vg & webglue & xmlm) remove:() upgrade:(ctypes)
00:00.423  021415  HEURISTIC                  implicit-installed: { ocamlfind.158(installed), ocamlify.4(installed) }
00:00.423  021415  HEURISTIC                  implicit-not-installed: ocamlmod, ocaml-data-notation, oasis, oasis-mirage, fileutils, ounit and type%5fconv
00:00.424  021415  HEURISTIC                  state_of_request
00:00.725  021415  HEURISTIC                  explore
00:00.725  021415  HEURISTIC                  brute-force
00:00.734  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes) state:{ ctypes.13(installed) }
00:00.744  021415  HEURISTIC                  keep ocamlfind with the same version
00:00.754  021415  HEURISTIC                  keep ocamlify with the same version
00:00.785  021415  HEURISTIC                  adding ocamlmod to the request
00:00.785  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes (= 13)) state:{ ocamlify.4(installed), ocamlfind.158(installed), ctypes.13(installed) }
00:00.785  021415  HEURISTIC                  state_of_request
00:01.037  021415  HEURISTIC                  explore
00:01.037  021415  HEURISTIC                  brute-force
00:01.060  021415  HEURISTIC                  adding ocaml-data-notation to the request
00:01.060  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes (= 13)) state:{ ocamlify.4(installed), ocamlfind.158(installed), ctypes.13(installed), ocamlmod.7(installed) }
00:01.060  021415  HEURISTIC                  state_of_request
00:01.330  021415  HEURISTIC                  explore
00:01.330  021415  HEURISTIC                  brute-force
00:01.351  021415  HEURISTIC                  oasis is not necessary ({ ocamlify.4(installed), ocamlfind.158(installed), ocaml-data-notation.10(not-installed), ctypes.13(installed), ocamlmod.7(installed) })
00:01.363  021415  HEURISTIC                  adding oasis-mirage to the request
00:01.363  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes (= 13)) state:{ ocamlify.4(installed), ocamlfind.158(installed), ocaml-data-notation.10(not-installed), ctypes.13(installed), ocamlmod.7(installed) }
00:01.363  021415  HEURISTIC                  state_of_request
00:01.617  021415  HEURISTIC                  explore
00:01.617  021415  HEURISTIC                  brute-force
00:01.658  021415  HEURISTIC                  adding fileutils to the request
00:01.658  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes (= 13)) state:{ ocamlify.4(installed), ocamlfind.158(installed), ocaml-data-notation.10(installed), ctypes.13(installed), ocamlmod.7(installed), oasis-mirage.33(not-installed) }
00:01.658  021415  HEURISTIC                  state_of_request
00:01.925  021415  HEURISTIC                  explore
00:01.925  021415  HEURISTIC                  brute-force
00:01.946  021415  HEURISTIC                  adding ounit to the request
00:01.946  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes (= 13)) state:{ ocamlify.4(installed), ocamlfind.158(installed), ocaml-data-notation.10(installed), ctypes.13(installed), ocamlmod.7(installed), fileutils.45(installed), oasis-mirage.33(installed) }
00:01.946  021415  HEURISTIC                  state_of_request
00:02.200  021415  HEURISTIC                  explore
00:02.200  021415  HEURISTIC                  brute-force
00:02.238  021415  HEURISTIC                  adding type%5fconv to the request
00:02.238  021415  HEURISTIC                  refine request:install:(xmlm & webglue & vg & uutf & uuidm & pkgopkg & ocp-index & ocp-indent & jsonm & gg & cmdliner & base-unix & base-threads & base-bigarray) remove:() upgrade:(ctypes (= 13)) state:{ ounit.136(installed), ocamlify.4(installed), ocamlfind.158(installed), ocaml-data-notation.10(installed), ctypes.13(installed), ocamlmod.7(installed), fileutils.45(installed), oasis-mirage.33(installed) }
00:02.238  021415  HEURISTIC                  state_of_request
00:02.476  021415  HEURISTIC                  explore
00:02.476  021415  HEURISTIC                  brute-force
00:02.517  021415  HEURISTIC                  keep ocp-indent with the same version
00:02.529  021415  HEURISTIC                  keep uuidm with the same version
00:02.541  021415  HEURISTIC                  keep typerex with the same version
00:02.551  021415  HEURISTIC                  keep cmdliner with the same version
00:02.563  021415  HEURISTIC                  keep webglue with the same version
00:02.574  021415  HEURISTIC                  keep base-threads with the same version
00:02.588  021415  HEURISTIC                  keep base-bigarray with the same version
00:02.602  021415  HEURISTIC                  keep react with the same version
00:02.613  021415  HEURISTIC                  keep pkgopkg with the same version
00:02.625  021415  HEURISTIC                  keep xmlm with the same version
00:02.636  021415  HEURISTIC                  keep gg with the same version
00:02.666  021415  HEURISTIC                  keep base-unix with the same version
00:02.678  021415  HEURISTIC                  keep jsonm with the same version
00:02.689  021415  HEURISTIC                  keep ocp-index with the same version
00:02.700  021415  HEURISTIC                  keep optcomp with the same version
00:02.711  021415  HEURISTIC                  keep vg with the same version
00:02.721  021415  HEURISTIC                  keep uutf with the same version
00:02.734  021415  HEURISTIC                  keep ocp-build with the same version
00:02.734  021415  HEURISTIC                  STATE { ocp-build.196(installed), uutf.89(installed), vg.337(installed), optcomp.157(installed), ocp-index.32(installed), jsonm.87(installed), base-unix.334(installed), gg.337(installed), xmlm.135(installed), pkgopkg.336(installed), react.90(installed), base-bigarray.334(installed), base-threads.334(installed), webglue.337(installed), cmdliner.88(installed), typerex.196(installed), uuidm.92(installed), ocp-indent.151(installed), ounit.136(installed), ocamlify.4(installed), type%5fconv.307(not-installed), ocamlfind.158(installed), ocaml-data-notation.10(installed), ctypes.13(installed), ocamlmod.7(installed), fileutils.45(installed), oasis-mirage.33(installed) }
00:02.735  021415  HEURISTIC                  actions_of_state { ocp-build.196(installed), uutf.89(installed), vg.337(installed), optcomp.157(installed), ocp-index.32(installed), jsonm.87(installed), base-unix.334(installed), gg.337(installed), xmlm.135(installed), pkgopkg.336(installed), react.90(installed), base-bigarray.334(installed), base-threads.334(installed), webglue.337(installed), cmdliner.88(installed), typerex.196(installed), uuidm.92(installed), ocp-indent.151(installed), ounit.136(installed), ocamlify.4(installed), type%5fconv.307(not-installed), ocamlfind.158(installed), ocaml-data-notation.10(installed), ctypes.13(installed), ocamlmod.7(installed), fileutils.45(installed), oasis-mirage.33(installed) }
00:02.793  021415  CUDF                       graph_of_actions root_actions={  - install ocaml-data-notation.10,  - install ounit.136,  - install type%5fconv.307,  - install ctypes.13,  - install ocamlmod.7,  - install fileutils.45,  - install oasis-mirage.33 }
The following actions will be performed:
 - install ounit.1.1.2 [required by ctypes]
 - install type_conv.109.28.00 [required by ctypes]
 - install fileutils.0.4.4 [required by ctypes]
 - install ocaml-data-notation.0.0.10 [required by ctypes]
 - install ocamlmod.0.0.4 [required by ctypes]
 - install oasis-mirage.0.3.0a [required by ctypes]
 - install ctypes.pinned
00:02.794  021415  FILE(opam)                 read /Users/dbuenzli/.opam/4.00.1/overlay/ctypes.pinned/opam
7 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to remove
Do you want to continue ? [Y/n] n
00:10.648  021415  21415                      unlocking /Users/dbuenzli/.opam/4.00.1/lock
00:10.648  021415  SYSTEM                     rm /Users/dbuenzli/.opam/4.00.1/lock
dbuenzli commented 11 years ago

Forget about that. Read reinstall instead of install, was confused because oasis was already installed, but apparently ctypes uses another oasis.