Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Composer cannot resolve dependencies (SolverProblemsException) #27

Closed
kghbln opened this issue Mar 25, 2017 · 21 comments
Closed

Composer cannot resolve dependencies (SolverProblemsException) #27

kghbln opened this issue Mar 25, 2017 · 21 comments
Labels
site - s-mw.org - sandbox sandbox.semantic-mediawiki.org (99071)

Comments

@kghbln
Copy link
Member

kghbln commented Mar 25, 2017

One of todays changes causes Composer failures when running master

  [Composer\DependencyResolver\SolverProblemsException]                                                                                          
    Problem 1                                                                                                                                    
      - mediawiki/semantic-notifications dev-master requires mediawiki/semantic-media-wiki ~2.4 -> no matching package found.                    
      - mediawiki/semantic-notifications 1.x-dev requires mediawiki/semantic-media-wiki ~2.4 -> no matching package found.                       
      - Installation request for mediawiki/semantic-notifications @dev -> satisfiable by mediawiki/semantic-notifications[1.x-dev, dev-master].  
  Potential causes:                                                                                                                              
   - A typo in the package name                                                                                                                  
   - The package is not available in a stable-enough version according to your minimum-stability setting                                         
     see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.                                                          
  Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems. 

@mwjames Do you have an idea which one may have caused this and provide fluff ... Since Semantic Notification was not touched ...?

@kghbln kghbln added the site - s-mw.org - sandbox sandbox.semantic-mediawiki.org (99071) label Mar 25, 2017
@mwjames
Copy link

mwjames commented Mar 25, 2017

@JeroenDeDauw Maybe because master now runs on 3.0.x-dev [0]?

[0] SemanticMediaWiki/SemanticMediaWiki#2340

@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

Maybe because master now runs on 3.0.x-dev [0]?

Ah, yeah, this was me. Shame on me. Still will be nice to run master somehow ...

Just got the next "complaint" but this time with SQC. @JeroenDeDauw Could you stretch out a bit and provide fluff ...

6zc6nkp

@mwjames
Copy link

mwjames commented Mar 25, 2017

Just got the next "complaint" but this time with SQC

This proves my hypothesis for those that don't have yet a "real" release.

@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

This proves my hypothesis for those that don't have yet a "real" release.

SQC is Semantic Compound Queries which does have a real release. There must be something else in the water.

@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

Composer seems to be picking a random problem instead of just printing all of them. Now it is the Semantic Meta Tag extension causing pain.

@mwjames
Copy link

mwjames commented Mar 25, 2017

For:

I'm not sure why Semantic Meta Tag extension has an issue since require-dev is already present. Can you post the log output?

@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

Can you post the log output?

Sure and it is getting even better. This one all of a sudden looks for ~2.1:

[Composer\DependencyResolver\SolverProblemsException]                                                                                  
    Problem 1                                                                                                                            
      - mediawiki/semantic-meta-tags dev-master requires mediawiki/semantic-media-wiki ~2.1 -> no matching package found.                
      - mediawiki/semantic-meta-tags 1.x-dev requires mediawiki/semantic-media-wiki ~2.1 -> no matching package found.                   
      - Installation request for mediawiki/semantic-meta-tags @dev -> satisfiable by mediawiki/semantic-meta-tags[1.x-dev, dev-master].  
  Potential causes:                                                                                                                      
   - A typo in the package name                                                                                                          
   - The package is not available in a stable-enough version according to your minimum-stability setting                                 
     see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.                                                  
  Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.                                            

I have to leave for about two hours now.

@mwjames mwjames changed the title Composer cannot reslove dependencies Composer cannot resolve dependencies (SolverProblemsException) Mar 25, 2017
@mwjames
Copy link

mwjames commented Mar 25, 2017

  Problem 1
    - remove mediawiki/semantic-media-wiki 3.0.x-dev|keep mediawiki/semantic-media-wiki dev-master
    - Conclusion: remove mediawiki/semantic-media-wiki dev-master
    - don't install mediawiki/semantic-media-wiki 3.0.x-dev|install mediawiki/semantic-media-wiki dev-master
    - Conclusion: don't install mediawiki/semantic-media-wiki dev-master
    - mediawiki/semantic-meta-tags 1.0.0 requires mediawiki/semantic-media-wiki ~2.1 -> satisfiable by mediawiki/semantic-media-wiki[2.1.0, 2.1.0-RC1, 2.1.1, 2.1.2, 2.1.3, 2.1.x-dev, 2.2.0, 2.2.0-RC1, 2.2.1, 2.2.2, 2.2.3, 2.2.x-dev, 2.3.0, 2.3.0-RC1, 2.3.1, 2.3.x-dev, 2.4.0, 2.4.0-RC1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.x-dev, 2.5.0, 2.5.0-rc.1, 2.5.x-dev].
    - mediawiki/semantic-meta-tags 1.1.0 requires mediawiki/semantic-media-wiki ~2.1 -> satisfiable by mediawiki/semantic-media-wiki[2.1.0, 2.1.0-RC1, 2.1.1, 2.1.2, 2.1.3, 2.1.x-dev, 2.2.0, 2.2.0-RC1, 2.2.1, 2.2.2, 2.2.3, 2.2.x-dev, 2.3.0, 2.3.0-RC1, 2.3.1, 2.3.x-dev, 2.4.0, 2.4.0-RC1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.x-dev, 2.5.0, 2.5.0-rc.1, 2.5.x-dev].
    - mediawiki/semantic-meta-tags 1.2.0 requires mediawiki/semantic-media-wiki ~2.1 -> satisfiable by mediawiki/semantic-media-wiki[2.1.0, 2.1.0-RC1, 2.1.1, 2.1.2, 2.1.3, 2.1.x-dev, 2.2.0, 2.2.0-RC1, 2.2.1, 2.2.2, 2.2.3, 2.2.x-dev, 2.3.0, 2.3.0-RC1, 2.3.1, 2.3.x-dev, 2.4.0, 2.4.0-RC1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.x-dev, 2.5.0, 2.5.0-rc.1, 2.5.x-dev].
    - mediawiki/semantic-meta-tags 1.3.0 requires mediawiki/semantic-media-wiki ~2.1 -> satisfiable by mediawiki/semantic-media-wiki[2.1.0, 2.1.0-RC1, 2.1.1, 2.1.2, 2.1.3, 2.1.x-dev, 2.2.0, 2.2.0-RC1, 2.2.1, 2.2.2, 2.2.3, 2.2.x-dev, 2.3.0, 2.3.0-RC1, 2.3.1, 2.3.x-dev, 2.4.0, 2.4.0-RC1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.x-dev, 2.5.0, 2.5.0-rc.1, 2.5.x-dev].
    - mediawiki/semantic-meta-tags dev-master requires mediawiki/semantic-media-wiki ~2.1 -> satisfiable by mediawiki/semantic-media-wiki[2.1.0, 2.1.0-RC1, 2.1.1, 2.1.2, 2.1.3, 2.1.x-dev, 2.2.0, 2.2.0-RC1, 2.2.1, 2.2.2, 2.2.3, 2.2.x-dev, 2.3.0, 2.3.0-RC1, 2.3.1, 2.3.x-dev, 2.4.0, 2.4.0-RC1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.x-dev, 2.5.0, 2.5.0-rc.1, 2.5.x-dev].
    - mediawiki/semantic-meta-tags 1.x-dev requires mediawiki/semantic-media-wiki ~2.1 -> satisfiable by mediawiki/semantic-media-wiki[2.1.0, 2.1.0-RC1, 2.1.1, 2.1.2, 2.1.3, 2.1.x-dev, 2.2.0, 2.2.0-RC1, 2.2.1, 2.2.2, 2.2.3, 2.2.x-dev, 2.3.0, 2.3.0-RC1, 2.3.1, 2.3.x-dev, 2.4.0, 2.4.0-RC1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.x-dev, 2.5.0, 2.5.0-rc.1, 2.5.x-dev].
    - don't install mediawiki/semantic-media-wiki 2.1.0|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.1.0-RC1|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.1.1|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.1.2|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.1.3|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.1.x-dev|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.2.0|don't install mediawiki/semantic-media-wiki 3.0.x-dev
    - don't install mediawiki/semantic-media-wiki 2.2.0-RC1|don't install mediawiki/semantic-media-wiki 3.0.x-dev
...

I suspect that since now SMW master is on 3.0.x-dev all @dev packages also require to be enabled for 3.0.x as done so in SemanticMediaWiki/SemanticNotifications@7596466 using ~2.5|~3.0 or ~2.4|~3.0 as constraint.

@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

I suspect that since now SMW master is on 3.0.x-dev all @dev packages also require to be enabled for 3.0.x as done so in SemanticMediaWiki/SemanticNotifications@7596466 using ~2.5|~3.0 or ~2.4|~3.0 as constraint.

Though the constraint should probably be ~2.4|~2.5|~3.0 to reflect supported branches properly.

@mwjames
Copy link

mwjames commented Mar 25, 2017

Though the constraint should probably be ~2.4|~2.5|~3.0 to reflect supported branches properly.

~ resolves everything from 2.4 to < 3.x but due to semver we know that 2.x !== 3.x therefore ~2.4 cannot account for a constraint of > 2 hence the need to define | as and.

@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

Ah, I am with you and Composer.

kghbln added a commit to SemanticMediaWiki/SemanticMetaTags that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticInterlanguageLinks that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticFormsSelect that referenced this issue Mar 25, 2017
@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

I have done the changes for some extensions. If these get through ok I could do the rest too.

kghbln added a commit to SemanticMediaWiki/SemanticCompoundQueries that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticGlossary that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticCite that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticScribunto that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticExtraSpecialProperties that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticResultFormats that referenced this issue Mar 25, 2017
kghbln added a commit to SemanticMediaWiki/SemanticWatchlist that referenced this issue Mar 25, 2017
@kghbln
Copy link
Member Author

kghbln commented Mar 25, 2017

Paradise regained:

composer update --no-dev --prefer-source
> ComposerHookHandler::onPreUpdate
Loading composer repositories with package information
Updating dependencies
Package operations: 0 installs, 14 updates, 0 removals
  - Updating mediawiki/semantic-notifications dev-master (31df5ce => 7596466):  Checking out 759646647a
  - Updating mediawiki/semantic-external-query-lookup dev-master (4f3c918 => 5523e55):  Checking out 5523e551f8
  - Updating mediawiki/semantic-compound-queries dev-master (2c72214 => 84b924b):  Checking out 84b924b3e6
  - Updating mediawiki/semantic-breadcrumb-links dev-master (be3f51c => 6a2e7bc):  Checking out 6a2e7bcfad
  - Updating mediawiki/semantic-meta-tags dev-master (6111b22 => 0dcce79):  Checking out 0dcce79232
  - Updating mediawiki/semantic-glossary dev-master (7489286 => e2081cf):  Checking out e2081cf1f0
  - Updating mediawiki/semantic-extra-special-properties dev-master (85af5fd => 710f720):  Checking out 710f7202ff
  - Updating mediawiki/semantic-watchlist dev-master (8e47273 => 84fcb29):  Checking out 84fcb29254
  - Updating mediawiki/semantic-media-wiki dev-master (d5df847 => 98273f4):  Checking out 98273f40b4
  - Updating mediawiki/semantic-scribunto dev-master (cf93f8f => 29c4753):  Checking out 29c4753ad9
  - Updating mediawiki/semantic-interlanguage-links dev-master (04be1c9 => 2e5c0d4):  Checking out 2e5c0d4e6f
  - Updating mediawiki/semantic-cite dev-master (0d2db5d => 9733192):  Checking out 9733192d8d
  - Updating mediawiki/semantic-result-formats dev-master (454695c => 644a753):  Checking out 644a753ec2
  - Updating mediawiki/semantic-forms-select dev-master (c1f9cd0 => 17629bb):  Checking out 17629bb7df
Writing lock file
Generating optimized autoload files

@kghbln kghbln closed this as completed Mar 25, 2017
@s7eph4n
Copy link

s7eph4n commented Mar 25, 2017

@mwjames @kghbln Could you tell what the main breakages between SMW 2.x and 3.0 are? I am sure you took proper care when updating all the extensions, but I am always getting a bit uneasy when it comes to this kind of blanket updates that "can't possibly go wrong".

@mwjames
Copy link

mwjames commented Mar 25, 2017

Could you tell what the main breakages between SMW 2.x and 3.0 are?

Well, for now (since there is no 3.0 release only a 3.0.x-dev) changes to the dependency was made in order for the master to work with the new major version. In case of breakages they can now be detected and if necessary each extension can decide to revoke the range and release a different version with the new 3.0 dependency.

@JeroenDeDauw
Copy link
Member

I'm also skeptical of this change.

Now when you make a breaking change in SMW, extensions might break, and you need to make matching changes right away. Of course this only happens for those that pull in @dev stuff (and thus SMW 3.0-dev) or once SMW 3.0 is actually released. I suppose this can be dealth with, if you have control over the affected extensions and are willing to update them in step with SMW. That might still take more time though, and be problematic in cases where you can't switch to a new construct because you still need to support the old one or lose compat with all non-dev-SMW.

Even then it seems poor form to specify this compat for non-dev. I suspect you can have something like ~2.1|~3.0@dev to avoid this.

@kghbln
Copy link
Member Author

kghbln commented Mar 26, 2017

I just wish one could tell Composer that @dev means pull in whatever there is without having to walk this though a pile of extensions. If you run @dev you are brave anyway.

@kghbln
Copy link
Member Author

kghbln commented Mar 27, 2017

@JeroenDeDauw @mwjames We have to rethink how the dependencies are set up. What currently happens is that Composer installs "2.5.x@dev" instead of "@dev" so we have "Semantic MediaWiki 2.5.0 (ec6d5c1) 15:13, 26 March 2017" installed on sandbox even though we have done all these changes referenced above and use this composer.local.json file. So somewhere still a dependency is required that disallows going dev master. I am sure there is a way but currently we are only guessing how this way may look like.

@mwjames
Copy link

mwjames commented Mar 27, 2017 via email

@kghbln
Copy link
Member Author

kghbln commented Mar 27, 2017

I removed the 3.0 reference in SemanticGlossary

Ah, I see. I guess I'm up now. :) Thanks for the info!

@kghbln
Copy link
Member Author

kghbln commented Mar 27, 2017

Affirmative - we are in fluff again.

@kghbln kghbln closed this as completed Mar 27, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
site - s-mw.org - sandbox sandbox.semantic-mediawiki.org (99071)
Projects
None yet
Development

No branches or pull requests

4 participants