Skip to content

regression in dune lang 1.0 semantics of cxx_ fields due to changes in select semantics #13802

@shonfeder

Description

@shonfeder

Expected Behavior

Backward compatibility is maintained for packages using (lang dune 1.0).

Actual Behavior

Building mccs.1.1+19 fails with

error: Cannot build '/nix/store/6rkvhwwnyhhblr960wmy7mc7x65xgmf0-ocaml5.4.0-mccs-1.1+19.drv'.
       Reason: builder failed with exit code 1.
       Output paths:
         /nix/store/z3lxd3blzigpv22sl3zhh01a5vcb6rmh-ocaml5.4.0-mccs-1.1+19
       Last 18 log lines:
       > Running phase: unpackPhase
       > unpacking source archive /nix/store/892sm7xb7rgif2svxficpr9lpszgf9db-source
       > source root is source
       > Running phase: patchPhase
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > no configure script, doing nothing
       > Running phase: buildPhase
       > File "src/dune", lines 20-26, characters 2-171:
       > 20 |   (select
       > 21 |    config.h
       > 22 |    from
       > 23 |    (mccs.glpk.internal -> config_internal.h)
       > 24 |    (mccs.glpk.shared -> config_external.h)
       > 25 |    (mccs.glpk.static -> config_external.h)
       > 26 |    (-> _))))
       > Error: No solution found for this select form.
       >
       For full logs, run:
         nix log /nix/store/6rkvhwwnyhhblr960wmy7mc7x65xgmf0-ocaml5.4.0-mccs-1.1+19.drv

Reproduction

opam pin dune.dev --dev-repo
opam install mccs.1.1+19

Specifications

  • Version of dune (output of dune --version): trunk

Additional information

Running the revdeps bisect action identified #13175 as the PR that introduced the regression in 75b52fa

Identified via the revdeps testing for the dune 3.22 release candidate: ocaml/opam-repository#29535 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions