Skip to content

Symfony 5.2 packages conflicting with 5.3 packages #41612

Closed
@theravel

Description

@theravel

Symfony version(s) affected: 5.3

Description
Installed together, specific versions of 5.2 and 5.3 packages do not allow container to be compiled.

How to reproduce

  1. Have the following packages installed:
"symfony/messenger": "~5.2.0",
"symfony/dependency-injection": "^5.3",
"symfony/framework-bundle": "~5.2.0",
"symfony/console": "^5.3"

Run bin/console c:c, result is:

In CheckDefinitionValidityPass.php line 59:
                                                                                                                                                                                                                                                             
  The definition for "messenger.receiver_locator" has no class. If you intend to inject this service dynamically at runtime, please mark it as synthetic=true. If this is an abstract definition solely used by child definitions, please add abstract=true  
  , otherwise specify a class to get rid of this error.                                                                                                                                                                                                      

Possible Solution
I think this was caused by changing order of compiler passes here: 91fbc90#diff-b75bcd1c8a876c4e6f189c298e7c7133d1d3bc87e2a2876c40ab92a51df1093aL65

I guess it is fine if 5.2 packages are incompatible with 5.3, but their usage together should be denied via composer dependencies (e.g. via conflicts settings or via requiring 5.3 as a minimum version).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions