Skip to content

Multiple mingw architectures resolved with 0install #6843

@tobil4sk

Description

@tobil4sk

Ever since setup-ocaml changed to use 0install by default, mingw packages are resolved with i686 and x86_64 variants, whereas previously only the x86_64 variants were installed.

This is haxe's opam file, which includes conf-zlib and conf-libpcre2-8:
https://github.com/HaxeFoundation/haxe/blob/21ae9743bbe7c94a317a6b6f9409ff4218723335/haxe.opam#L31-L32

`builtin-0install` package list resolves `conf-mingw-w64-pcre2-i686` alongside `conf-mingw-w64-pcre2-x86_64`, etc.
 The following actions will be performed:
  === recompile 1 package
    - recompile mingw-w64-shims             0.2.0   [uses conf-mingw-w64-gcc-i686]
  === install 42 packages
    - install   backoff                     0.1.1   [required by saturn]
    - install   camlp-streams               5.0.1   [required by haxe]
    - install   conf-libpcre2-8             2       [required by haxe]
    - install   conf-mingw-w64-gcc-i686     1       [required by conf-mingw-w64-pcre2-i686, conf-mingw-w64-zlib-i686]
    - install   conf-mingw-w64-pcre2-i686   1       [required by conf-libpcre2-8]
    - install   conf-mingw-w64-pcre2-x86_64 1       [required by conf-libpcre2-8]
    - install   conf-mingw-w64-zlib-i686    1       [required by conf-zlib]
    - install   conf-mingw-w64-zlib-x86_64  1       [required by conf-zlib]
    - install   conf-neko                   1       [required by haxe]
    - install   conf-pkg-config             4       [required by conf-libpcre2-8, conf-zlib]
    - install   conf-zlib                   1       [required by haxe]
    - install   cppo                        1.8.0   [required by extlib]
    - install   csexp                       1.5.2   [required by dune-configurator]
    - install   ctypes                      0.24.0  [required by luv]
    - install   domain-local-await          1.0.1   [required by domainslib]
    - install   domain-name                 0.5.0   [required by ipaddr]
    - install   domainslib                  0.5.2   [required by haxe]
    - install   dune                        3.20.2  [required by haxe]
    - install   dune-configurator           3.20.2  [required by ctypes]
    - install   dynamic_gc                  0.2.0   [required by haxe]
    - install   extlib                      1.8.0   [required by haxe]
    - install   gen                         1.1     [required by sedlex]
    - install   integers                    0.7.0   [required by luv]
    - install   ipaddr                      5.6.1   [required by haxe]
    - install   luv                         0.5.14  [required by haxe]
    - install   macaddr                     5.6.1   [required by ipaddr]
    - install   multicore-magic             2.3.1   [required by saturn]
    - install   ocaml-compiler-libs         v0.17.0 [required by ppxlib]
    - install   ocamlfind                   1.9.8   [required by haxe]
    - install   ppx_derivers                1.2.1   [required by ppxlib]
    - install   ppx_parser                  0.2.1   [required by haxe]
    - install   ppxlib                      0.37.0  [required by ppx_parser, sedlex]
    - install   saturn                      1.0.0   [required by haxe]
    - install   sedlex                      3.7     [required by haxe]
    - install   seq                         base    [required by gen]
    - install   sexplib0                    v0.17.0 [required by ppxlib]
    - install   sha                         1.15.4  [required by haxe]
    - install   stdlib-shims                0.3.0   [required by sha]
    - install   terminal_size               0.2.0   [required by haxe]
    - install   thread-local-storage        0.2     [required by haxe]
    - install   thread-table                1.0.0   [required by domain-local-await]
    - install   xml-light                   2.5     [required by haxe]
  The following system packages will first need to be installed:
      mingw64-i686-pcre2 mingw64-i686-zlib mingw64-x86_64-pcre2 mingw64-x86_64-zlib pkgconf
  <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
Manually setting `OPAMEXTERNALSOLVER=builtin-mccs+glpk` avoids this behaviour
  The following actions will be performed:
  === recompile 1 package
    - recompile mingw-w64-shims             0.2.0   [uses conf-pkg-config]
  === install 39 packages
    - install   backoff                     0.1.1   [required by saturn]
    - install   camlp-streams               5.0.1   [required by haxe]
    - install   conf-libpcre2-8             2       [required by haxe]
    - install   conf-mingw-w64-pcre2-x86_64 1       [required by conf-libpcre2-8]
    - install   conf-mingw-w64-zlib-x86_64  1       [required by conf-zlib]
    - install   conf-neko                   1       [required by haxe]
    - install   conf-pkg-config             4       [required by conf-libpcre2-8, conf-zlib]
    - install   conf-zlib                   1       [required by haxe]
    - install   cppo                        1.8.0   [required by extlib]
    - install   csexp                       1.5.2   [required by dune-configurator]
    - install   ctypes                      0.24.0  [required by luv]
    - install   domain-local-await          1.0.1   [required by domainslib]
    - install   domain-name                 0.5.0   [required by ipaddr]
    - install   domainslib                  0.5.2   [required by haxe]
    - install   dune                        3.20.2  [required by haxe]
    - install   dune-configurator           3.20.2  [required by ctypes]
    - install   dynamic_gc                  0.2.0   [required by haxe]
    - install   extlib                      1.8.0   [required by haxe]
    - install   gen                         1.1     [required by sedlex]
    - install   integers                    0.7.0   [required by luv]
    - install   ipaddr                      5.6.1   [required by haxe]
    - install   luv                         0.5.14  [required by haxe]
    - install   macaddr                     5.6.1   [required by ipaddr]
    - install   multicore-magic             2.3.1   [required by saturn]
    - install   ocaml-compiler-libs         v0.17.0 [required by ppxlib]
    - install   ocamlfind                   1.9.8   [required by haxe]
    - install   ppx_derivers                1.2.1   [required by ppxlib]
    - install   ppx_parser                  0.2.1   [required by haxe]
    - install   ppxlib                      0.37.0  [required by ppx_parser, sedlex]
    - install   saturn                      1.0.0   [required by haxe]
    - install   sedlex                      3.7     [required by haxe]
    - install   seq                         base    [required by gen]
    - install   sexplib0                    v0.17.0 [required by ppxlib]
    - install   sha                         1.15.4  [required by haxe]
    - install   stdlib-shims                0.3.0   [required by sha]
    - install   terminal_size               0.2.0   [required by haxe]
    - install   thread-local-storage        0.2     [required by haxe]
    - install   thread-table                1.0.0   [required by domain-local-await]
    - install   xml-light                   2.5     [required by haxe]
  The following system packages will first need to be installed:
      mingw64-x86_64-pcre2 mingw64-x86_64-zlib pkgconf

Here are the dependency conditions for conf-zlib:
https://github.com/ocaml/opam-repository/blob/a6b2f19780b2edfc4e5dba2566235c877dbf5acd/packages/conf-zlib/conf-zlib.1/opam#L15-L16

and conf-libpcre2-8:
https://github.com/ocaml/opam-repository/blob/a6b2f19780b2edfc4e5dba2566235c877dbf5acd/packages/conf-libpcre2-8/conf-libpcre2-8.2/opam#L19-L22

Seems similar to #6674.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions