Problem/Motivation
A dependency of Upgrade Status is in conflict with a dependency of Search API Solr.
PHP: 8.3
Drupal: 10.2.2
Upgrade Status: 4.0.0
Steps to reproduce
PHP: 8.3
Drupal: 10.2.2
Upgrade Status: 4.0.0
root@6704b3679ca8:/project# composer require drupal/search_api_solr:^4.3
./composer.json has been updated
Running composer update drupal/search_api_solr
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laminas/laminas-stdlib[3.2.0, ..., 3.2.1] require php ^5.6 || ^7.0 -> your php version (8.3; overridden via config.platform, same as actual) does not satisfy that requirement.
- laminas/laminas-stdlib[3.6.0, ..., 3.11.x-dev] require php ^7.3 || ~8.0.0 || ~8.1.0 -> your php version (8.3; overridden via config.platform, same as actual) does not satisfy that requirement.
- laminas/laminas-stdlib[3.12.0, ..., 3.13.x-dev] require php ^7.4 || ~8.0.0 || ~8.1.0 -> your php version (8.3; overridden via config.platform, same as actual) does not satisfy that requirement.
- laminas/laminas-stdlib[3.14.0, ..., 3.16.x-dev] require php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3; overridden via config.platform, same as actual) does not satisfy that requirement.
- laminas/laminas-stdlib[3.17.0, ..., 3.17.x-dev] require php ~8.1.0 || ~8.2.0 -> your php version (8.3; overridden via config.platform, same as actual) does not satisfy that requirement.
- drupal/search_api_solr[4.3.0-alpha1, ..., 4.x-dev] require laminas/laminas-stdlib ^3.2 -> satisfiable by laminas/laminas-stdlib[3.2.0, ..., 3.20.x-dev].
- laminas/laminas-stdlib[3.5.0, ..., 3.20.x-dev] conflict with zendframework/zend-stdlib *.
- laminas/laminas-stdlib[3.2.0, ..., 3.4.0] cannot be installed as that would require removing zendframework/zend-stdlib[2.7.4]. laminas/laminas-stdlib replaces zendframework/zend-stdlib and thus cannot coexist with it.
- zendframework/zend-text 2.5.1 requires zendframework/zend-stdlib ~2.5 -> satisfiable by zendframework/zend-stdlib[2.7.4].
- mathieuviossat/arraytotexttable v1.0.7 requires zendframework/zend-text ^2.0.3 -> satisfiable by zendframework/zend-text[2.5.1].
- drupal/upgrade_status 4.0.0 requires mathieuviossat/arraytotexttable ~1.0.0 -> satisfiable by mathieuviossat/arraytotexttable[v1.0.7].
- drupal/upgrade_status is locked to version 4.0.0 and an update of this package was not requested.
- Root composer.json requires drupal/search_api_solr ^4.3 -> satisfiable by drupal/search_api_solr[4.3.0-alpha1, ..., 4.x-dev].
Search API Solr 4.x requires "laminas/laminas-stdlib": "^3.2"
Upgrade Status 4.0.0 requires "mathieuviossat/arraytotexttable": "~1.0.0", which requires zendframework/[stuff] which is conflicting with laminas.
Proposed resolution
Update mathieuviossat/arraytotexttable package dependencies so a new release of this package could be made.
Maybe this is the fix from the PR: https://github.com/viossat/arraytotexttable/pull/9
Remaining tasks
Issue fork upgrade_status-3419115
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
grimreaperComment #3
gábor hojtsyThanks for the report. Looks like this requires third party fixes.
Comment #4
grimreaperUnrelated to Upgrade Status.
It is mathieuviossat/arraytotexttable not compatible with PHP 8.3, so not the latest version is downloaded so conflict between zend and laminas.
I made a PR on Github: https://github.com/viossat/arraytotexttable/pull/11
Comment #5
grimreaperIn my case I was stucked with mathieuviossat/arraytotexttable 1.0.7, while latest version is 1.0.10.
PS: I missed comment #3 while posting comment 4, so I don't know if the issue should be kept opened for information.
Comment #6
gábor hojtsy#3395725: [PHP 8.2] Composer - Upgrade Status conflicts with core 10.1.5 is very similar
Comment #7
grimreaperPR merged and new version of mathieuviossat/arraytotexttable available! \o/
But problem somewhere else. I tracked it down:
-
drupal/core-recommended 10.2.3 requires psr/container (~2.0.2).- Which prevents laminas/laminas-servicemanager to be installed on version >3.22.0 (PHP 8.3 compat). (because it needs psr/container 1)
- Which prevents laminas/laminas-text to be installed on version >2.11.0 (PHP 8.3 compat).
- Which prevents mathieuviossat/arraytotexttable to be installed on the latest version.
I do not copy/past composer output here for readability.
Comment #8
grimreaperThe problem is that Major version 4 of laminas/laminas-servicemanager is not marked as PHP 8.3 compatible... Because major version 4 of laminas/laminas-servicemanager is psr/container 2 compatible.
Edit: the dev branch of 4.0.x is PHP 8.3 compatible. https://github.com/laminas/laminas-servicemanager/blob/4.0.x/composer.js...
So it "just" needs a new release of laminas/laminas-servicemanager...
Comment #9
gábor hojtsyIt is unfortunate that https://github.com/laminas/laminas-servicemanager/blob/4.0.0-rc2/compose... also does not yet support PHP 8.3. Would a 4.0.0-rc3 of servicemanager help? https://github.com/laminas/laminas-servicemanager/commits/4.0.x/ seems to not have much else since rc2. An issue there to request an RC3 would probably be worth it / helpful :)
Comment #10
gábor hojtsyAlso Drupal core requires psr container 2 since Drupal 10.0. So looks like the combo of that and PHP 8.3 is causing problems? In #3395725: [PHP 8.2] Composer - Upgrade Status conflicts with core 10.1.5 it is also claimed that this already causes problems on PHP 8.2.
Comment #11
gábor hojtsyThe latest laminas-text from https://github.com/laminas/laminas-text/blob/2.11.0/composer.json did support PHP 8.3.0, so this seems to be down to laminas/laminas-servicemanager not having a PHP 8.3 compatible release.
Comment #12
gábor hojtsyOk after various trials in a gitpod instance I figured its probably best to go with a text table generator that has much less dependencies. We only use the whole thing in one place after all :D So we can replace with a more lightweight solution like https://packagist.org/packages/dekor/php-array-table
Comment #14
gábor hojtsyWith this MR on drupalpod, I can verify the new dependency is used:
I can require Search API Solr on top of this without issue:
The text to table conversion is as good as before:
Look good?
Comment #17
gábor hojtsyCarrying credits from #3395725: [PHP 8.2] Composer - Upgrade Status conflicts with core 10.1.5 now that this resolves that too.
Comment #19
gábor hojtsyAlso carrying credits from #3399432: Support for PHP 8.2 and Search API Solr compatibility.
Comment #22
gábor hojtsyAnd applying credits for #3414198: Upgrade Status 4.0.0 is not compatible with D10 upgrade which is also a duplicate.
Comment #23
gábor hojtsy#3409983: Add support for PHP 8.2 was also a duplicate but credits are already here.
Comment #25
gábor hojtsyAdded tests prove this works on PHP 8.3 and will ensure this keeps working on PHP 8.3. Thanks all for your effort and sorry this took so much time! Enjoy!
Comment #26
grimreaperHi,
Thanks a lot!
I confirm that now I can add Search API Solr. Composer automatically took dev version of Upgrade Status for compatibility.