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

What to do with: "Could not find a valid dependency tree configuration" #418

Closed
nordlow opened this issue Sep 12, 2014 · 8 comments
Closed

Comments

@nordlow
Copy link
Contributor

nordlow commented Sep 12, 2014

Suddenly DUB errors as

Error executing command run: Could not find a valid dependency 
tree configuration: No match for dependency dchip ~master of fdo

If I remove dchip I get the same error for all other packages.

What is wrong?

I've tried removing ~/.dub/packages and sub.selections.json with no progress.

Here's the file: https://github.com/nordlow/justd/blob/master/dub.json

@s-ludwig
Copy link
Member

The error message is wrong, I'll look into that. The actual error should mention "hap" instead of "dchip", at least on my system.

@s-ludwig
Copy link
Member

With the fix, the error message for me is now:

Error executing command build: Root package fdo contains reference to invalid package d-colorize

There are still cases where the error message may be misleading, but detecting those cases requires some advanced analysis of the dependency/version graph and is currently not feasible with the combinatoric approach that is used for dependency resolution.

@nordlow
Copy link
Contributor Author

nordlow commented Sep 12, 2014

Ok, works for me. You can close this when you feel like! Thanks!

BTW: Wouldn't it be awesome if DUB bash completion could complete list of registered packages by fetching and parsing a package list from the web? If you added a link to an easier to parse file format such as csv or json at http://code.dlang.org/ I could add it to the bash completion.

For the fetch phase is wget the recommended tool to retrieve the list?

What do you say?

@s-ludwig
Copy link
Member

Don't know if this is possibly any kind of faux-pas for completion scripts to access online content, but it sounds like a nice feature. There is http://code.dlang.org/available as a simple JSON array. As the fetch tool, wget sounds like the best choice, because it is available by default most of the time, while curl on the other hand could directly write to stdout. But maybe it would be a good idea to cache the list somewhere anyway?

@nordlow
Copy link
Contributor Author

nordlow commented Sep 12, 2014

Very nice. I wish the rest of the web was that structured and simple when you need it to be :)

@nordlow
Copy link
Contributor Author

nordlow commented Sep 13, 2014

I believe the simplest solution is rely on Python for this thing. Would it be ok to implement this logic in Python? IMHO Python is as accessible as wget or curl.

@s-ludwig
Copy link
Member

Seems like Python is indeed pretty ubiquitously available these days, so it should probably be fine. (Maybe someone with greater experience of different distributions has a different opinion?)

It could also be implemented using simple string operations, since only [a-z0-9-]* is allowed as package names, so no escape sequences are present within the strings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants