buggins/dlangide

Dependency resolution process is taking too long

Anabar opened this issue · 5 comments

I've just tried to build dlangide.
Before that I installed DMD 2.081.2 from https://dlang.org/download.html#dmd

V:\Delo\D_lang>git clone https://github.com/buggins/dlangide.git
Cloning into "dlangide"...
remote: Counting objects: 5955, done.
remote: Total 5955 (delta 0), reused 0 (delta 0), pack-reused 5955
Receiving objects: 100% (5955/5955), 6.73 MiB | 1.13 MiB/s, done.
Resolving deltas: 100% (3630/3630), done.

V:\Delo\D_lang\dlangide>dub run
The dependency resolution process is taking too long. The dependency graph is likely hitting a pathological case in the resolution algorithm. Please file a bug report at https://github.com/dlang/dub/issues and mention the package recipe that reproduces this error.

Another way brings to the same result:

V:\Delo\D_lang>dub fetch dlangide
Fetching dlangide 0.8.12...
Please note that you need to use "dub run pkgname" or add it to dependencies of your package to actually use/run it. dub does not do actual installation of packages outside of its own ecosystem.

V:\Delo\D_lang>dub run --build=release dlangide
Building package dlangide in C:\Users\username\AppData\Local\dub\packages\dlangide-0.8.12\dlangide
The dependency resolution process is taking too long. The dependency graph is likely hitting a pathological case in the resolution algorithm. Please file a bug report at https://github.com/dlang/dub/issues and mention the package recipe that reproduces this error.

Hello! Try to use newer dub version (or simply download DMD beta 2.082.0). Please, study https://dlang.org/changelog/2.082.0.html#recursive_dependecy_resolution
https://github.com/dlang/dub

Thanks a lot. This problem had been solved.

dub run --build=release dlangide
....
C:\Users\username\AppData\Local\dub\packages\dlangui-0.9.178\dlangui\3rdparty\dimage\stream.d(226,16): Error: module 'string' is in file 'std\c\string.d' which cannot be read.
Thus, such module is absent really.
I'd tried to change code in stream.d:

226 - import std.c.string;
226+ import core.stdc.string;

Overt errors have disappeared. Nevertheless I see as result:
C:\D\dmd2\windows\bin\dmd.exe failed with exit code 1.

There were a lot of Deprecation warnings duiring building process.

You can experiment with older dmd and fresh dub. For example, download older dmd from official site and clone dub repository. Build fresh dub and replace internal dub.exe within dmd folder (located somewhere in "C:\D\dmd2\windows\bin") with your actual dub.exe.

Error: module 'string' is fixed here: buggins/dlangui#570