www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Dub Packages not working with lastest DMD

reply Jolly James <j.james jmail.com> writes:
A lot (if not all) dub packages by Brian Schott (Hackerpilot) do 
not compile using the latest stable DMD. Maybe someone can fix 
these or tell Brian.

In order to use them I had to downgrade to DMD v2.071.2.

The errors look like:

 dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allo
ator\package.d(322, 13):

Error: std.experimental.allocator.common.Ternary at

dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\al
ocator\common.d(14, 1)

conflicts with std.typecons.Ternary at [...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
Feb 18
next sibling parent lawrence <lawrence.hemsley gmail.com> writes:
On 02/18/2017 12:20 PM, Jolly James wrote:

This problem happens because the std.experimental.allocator.common file 
and the std.typecons file both define a Ternary struct and the 
std.experimental.allocator.package file imports both of this files.
The short term solution is to open the package.d file in you dub 
packages ... folder and fully qualify every usage of the Ternary 
identifier with std.experimental.allocator.common.Ternary instead of 
"Ternary" with find & replace.

Both Ternary definition seem identical to me but you can not fully 
qualify them with std.typecons.Ternary because the last two usages 
require the definition in the common.d file for some reason I got two 
new errors when I tried that.

The long term solution would be for either Andrei or Brian to rename 
their Ternary stucts, as Andrei points out it does of other names such 
as Trinary. I suppose also that Brian could decide which Ternary 
definition he wants to use, instead of importing both although he may 
need other things is both imports besides Ternary.

 A lot (if not all) dub packages by Brian Schott (Hackerpilot) do not
 compile using the latest stable DMD. Maybe someone can fix these or tell
 Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

 dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allocator\package.d(322,
 13):

 Error: std.experimental.allocator.common.Ternary at

 dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allocator\common.d(14,
 1)

 conflicts with std.typecons.Ternary at [...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
Feb 18
prev sibling next sibling parent reply Seb <seb wilzba.ch> writes:
On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James wrote:
 A lot (if not all) dub packages by Brian Schott (Hackerpilot) 
 do not compile using the latest stable DMD. Maybe someone can 
 fix these or tell Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

 dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allo
ator\package.d(322, 13):

Error: std.experimental.allocator.common.Ternary at

dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\al
ocator\common.d(14, 1)

conflicts with std.typecons.Ternary at [...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
What version do you use? Std_experimental_allocator has been removed from libdparse this summer (!). Maybe you have a hard-coded version somewhere?
Feb 21
parent reply Lenny Lowood <lo wood.as> writes:
On Tuesday, 21 February 2017 at 08:34:57 UTC, Seb wrote:
 On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James 
 wrote:
 A lot (if not all) dub packages by Brian Schott (Hackerpilot) 
 do not compile using the latest stable DMD. Maybe someone can 
 fix these or tell Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

[...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
What version do you use? Std_experimental_allocator has been removed from libdparse this summer (!). Maybe you have a hard-coded version somewhere?
probably a simple `dub fetch dcd`? seems to be v0.8
Feb 21
parent reply Seb <seb wilzba.ch> writes:
On Tuesday, 21 February 2017 at 22:43:36 UTC, Lenny Lowood wrote:
 On Tuesday, 21 February 2017 at 08:34:57 UTC, Seb wrote:
 On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James 
 wrote:
 A lot (if not all) dub packages by Brian Schott (Hackerpilot) 
 do not compile using the latest stable DMD. Maybe someone can 
 fix these or tell Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

[...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
What version do you use? Std_experimental_allocator has been removed from libdparse this summer (!). Maybe you have a hard-coded version somewhere?
probably a simple `dub fetch dcd`? seems to be v0.8
I'm not sure whether you are the original author, but please provide the full dub build log (use -v). I rather certain that the error will manifest there.
Feb 21
parent reply Jolly James <j.j jmail.com> writes:
On Tuesday, 21 February 2017 at 22:48:12 UTC, Seb wrote:
 On Tuesday, 21 February 2017 at 22:43:36 UTC, Lenny Lowood 
 wrote:
 On Tuesday, 21 February 2017 at 08:34:57 UTC, Seb wrote:
 On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James 
 wrote:
 A lot (if not all) dub packages by Brian Schott 
 (Hackerpilot) do not compile using the latest stable DMD. 
 Maybe someone can fix these or tell Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

[...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
What version do you use? Std_experimental_allocator has been removed from libdparse this summer (!). Maybe you have a hard-coded version somewhere?
probably a simple `dub fetch dcd`? seems to be v0.8
I'm not sure whether you are the original author, but please provide the full dub build log (use -v). I rather certain that the error will manifest there.
Using dub registry url 'http://code.dlang.org/' Refreshing local packages (refresh existing: true)... Looking for local package map at C:\ProgramData\dub\packages\local-packages.json Looking for local package map at C:\Users\jolly\AppData\Roaming\dub\packages\local-packages.json No package found in current working directory. Refreshing local packages (refresh existing: false)... Looking for local package map at C:\ProgramData\dub\packages\local-packages.json Looking for local package map at C:\Users\jolly\AppData\Roaming\dub\packages\local-packages.json Found dependency dsymbol 0.1.2 Found dependency emsi_containers 0.3.0 Found dependency experimental_allocator 2.70.0-b1 Found dependency libdparse 0.6.0 Found dependency msgpack-d 1.0.0-beta.6 Refreshing local packages (refresh existing: false)... Looking for local package map at C:\ProgramData\dub\packages\local-packages.json Looking for local package map at C:\Users\jolly\AppData\Roaming\dub\packages\local-packages.json Found dependency dsymbol 0.1.2 Found dependency emsi_containers 0.3.0 Found dependency experimental_allocator 2.70.0-b1 Found dependency libdparse 0.6.0 Found dependency msgpack-d 1.0.0-beta.6 Checking for upgrades. Using cached upgrade results... Generating using build Generate target dcd (staticLibrary C:\Users\jolly\AppData\Roaming\dub\packages\dcd-0.8.0\dcd dcd) Generate target dsymbol (staticLibrary C:\Users\jolly\AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol dsymbol) Generate target emsi_containers (staticLibrary C:\Users\jolly\AppData\Roaming\dub\packages\emsi_containers-0 3.0\emsi_containers emsi_containers) Generate target experimental_allocator (staticLibrary C:\Users\jolly\AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\ex erimental_allocator experimental_allocator) Generate target libdparse (staticLibrary C:\Users\jolly\AppData\Roaming\dub\packages\libdparse-0.6.0\libdparse dparse) Generate target msgpack-d (staticLibrary C:\Users\jolly\AppData\Roaming\dub\packages\msgpack-d-1.0.0-beta.6\msgpack-d msgpack-d) Target 'C:\Users\jolly\AppData\Roaming\dub\packages\dcd-0.8.0\dcd\.dub\build\library-debug-windows-x86-dmd_2073-6A69E853731DB83EA50DA AEA3E1E753\dcd.lib' doesn't exist, need rebuild. dmd -lib -ofAppData\Roaming\dub\packages\dcd-0.8.0\dcd\.dub\build\library-debug-windows-x86-dmd_2073-6A69E853731DB83EA50D 8AEA3E1E753\dcd.lib -debug -g -w -version=built_with_dub -version=Have_dcd -version=Have_dsymbol -version=Have_emsi_containers -version=Have_experimental_allocator -version=Have_libdparse -version=Have_msgpack_d -IAppData\Roaming\dub\packages\dcd-0.8.0\dcd\src -IAppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src -IAppData\Roaming\dub\packages\emsi_containers-0.3.0\emsi_containers\src -IAppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experi ental_allocator\src -IAppData\Roaming\dub\packages\libdparse 0.6.0\libdparse\src -IAppData\Roaming\dub\packages\msgpack-d-1.0.0- eta.6\msgpack-d\src AppData\Roaming\dub\packages\dcd-0.8.0\dcd\sr \common\constants.d AppData\Roaming\dub\packages\dcd-0.8.0\dcd\src\ ommon\dcd_version.d AppData\Roaming\dub\packages\dcd-0.8.0\dcd\s c\common\messages.d AppData\Roaming\dub\packages\dcd-0.8.0\dcd src\common\socket.d AppData\Roaming\dub\packages\dcd-0.8.0\dcd\src\s rver\autocomplete.d -vcolumns AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allocato \package.d(322,13): Error: std.experimental.allocator.common.Ternary at AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allo ator\common.d(14,1) conflicts with std.typecons.Ternary at C:\dlang\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(7470,1) AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allocato \package.d(328,13): Error: std.experimental.allocator.common.Ternary at AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allo ator\common.d(14,1) conflicts with std.typecons.Ternary at C:\dlang\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(7470,1) AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allocato \package.d(348,13): Error: std.experimental.allocator.common.Ternary at AppData\Roaming\dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allo ator\common.d(14,1) conflicts with std.typecons.Ternary at C:\dlang\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(7470,1) AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src\dsymb l\symbol.d(415,30): Deprecation: containers.ttree.Mallocator is not visible from module symbol AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src\dsymb l\symbol.d(322,10): Deprecation: containers.ttree.Mallocator is not visible from module symbol AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src\dsymbol\scope_.d(215,2): Deprecation: containers.ttree.Mallocator is not visible from module scope_ AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src\dsymbol\scope_.d(243,2): Deprecation: containers.ttree.Mallocator is not visible from module scope_ AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src\dsymb l\semantic.d(77,2): Deprecation: containers.unrolledlist.Mallocator is not visible from module semantic AppData\Roaming\dub\packages\dsymbol-0.1.2\dsymbol\src\dsymb l\semantic.d(80,2): Deprecation: containers.unrolledlist.Mallocator is not visible from module semantic FAIL AppData\Roaming\dub\packages\dcd-0.8.0\dcd\.dub\build\library-debug-windows-x86-dmd_2073-6A69E853731DB 3EA50DA8AEA3E1E753\ dcd staticLibrary dmd failed with exit code 1.
Feb 22
parent reply Jolly James <j.j jmail.com> writes:
On Wednesday, 22 February 2017 at 17:12:40 UTC, Jolly James wrote:
 [...]
still not working with updated DMD
Apr 19
parent reply Basile B. <b2.temp gmx.com> writes:
On Wednesday, 19 April 2017 at 20:50:23 UTC, Jolly James wrote:
 On Wednesday, 22 February 2017 at 17:12:40 UTC, Jolly James 
 wrote:
 [...]
still not working with updated DMD
dub fetch DCD doesn't get the latest version because it's an alpha. you'd have do `dub fetch dcd --version=0.9.0-alpha.6`. But ***dont***. Instead: 0/ `git clone https://github.com/Hackerpilot/DCD.git && gitsubmodule update --init --recursive` Then You have two options: 1/ under a linux or OSX: `make`, under windows double click the `build.bat` file 2/ in the recently cloned repo, `dub build --build=release` I advice you 1/ because of some recent bug fixes in the dependency.
Apr 19
parent reply Jolly James <j.j jmail.com> writes:
On Thursday, 20 April 2017 at 03:59:11 UTC, Basile B. wrote:
 On Wednesday, 19 April 2017 at 20:50:23 UTC, Jolly James wrote:
 On Wednesday, 22 February 2017 at 17:12:40 UTC, Jolly James 
 wrote:
 [...]
still not working with updated DMD
dub fetch DCD doesn't get the latest version because it's an alpha. you'd have do `dub fetch dcd --version=0.9.0-alpha.6`. But ***dont***. Instead: 0/ `git clone https://github.com/Hackerpilot/DCD.git && gitsubmodule update --init --recursive` Then You have two options: 1/ under a linux or OSX: `make`, under windows double click the `build.bat` file 2/ in the recently cloned repo, `dub build --build=release` I advice you 1/ because of some recent bug fixes in the dependency.
Thank you! Do you also know if there is a way to get this working with software relying on dub-DCD like Code-D, the VS-Code D extension (it installs workspace-d, DCD, and so on via dub)?
Apr 20
next sibling parent reply Basile B. <b2.temp gmx.com> writes:
On Thursday, 20 April 2017 at 14:26:42 UTC, Jolly James wrote:
 On Thursday, 20 April 2017 at 03:59:11 UTC, Basile B. wrote:
 On Wednesday, 19 April 2017 at 20:50:23 UTC, Jolly James wrote:
 On Wednesday, 22 February 2017 at 17:12:40 UTC, Jolly James 
 wrote:
 [...]
still not working with updated DMD
Thank you! Do you also know if there is a way to get this working with software relying on dub-DCD like Code-D, the VS-Code D extension (it installs workspace-d, DCD, and so on via dub)?
No, i don't know. Actually i'm the author of the D IDE Coedit (https://github.com/BBasile/Coedit) so i don't use anything else at all ;].
Apr 21
parent Jolly James <j.j jmail.com> writes:
On Friday, 21 April 2017 at 09:02:34 UTC, Basile B. wrote:
 On Thursday, 20 April 2017 at 14:26:42 UTC, Jolly James wrote:
 On Thursday, 20 April 2017 at 03:59:11 UTC, Basile B. wrote:
 On Wednesday, 19 April 2017 at 20:50:23 UTC, Jolly James 
 wrote:
 On Wednesday, 22 February 2017 at 17:12:40 UTC, Jolly James 
 wrote:
 [...]
still not working with updated DMD
Thank you! Do you also know if there is a way to get this working with software relying on dub-DCD like Code-D, the VS-Code D extension (it installs workspace-d, DCD, and so on via dub)?
No, i don't know. Actually i'm the author of the D IDE Coedit (https://github.com/BBasile/Coedit) so i don't use anything else at all ;].
Does Coedit have an option to trigger completion automatically while typing?
Apr 22
prev sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Thursday, 20 April 2017 at 14:26:42 UTC, Jolly James wrote:

 Do you also know if there is a way to get this working with 
 software relying on dub-DCD like Code-D, the VS-Code D 
 extension (it installs workspace-d, DCD, and so on via dub)?
Check the github release page (or the DUB repository page) of each project for alpha or beta releases and try those. For example, for DCD [1] you can find 0.9.0-alpha.6, and for libdparse [2] there's 0.7.1-beta.1. [1] https://github.com/Hackerpilot/DCD/releases [2] https://github.com/Hackerpilot/libdparse/releases
Apr 21
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Friday, 21 April 2017 at 12:14:59 UTC, Mike Parker wrote:
 On Thursday, 20 April 2017 at 14:26:42 UTC, Jolly James wrote:

 Do you also know if there is a way to get this working with 
 software relying on dub-DCD like Code-D, the VS-Code D 
 extension (it installs workspace-d, DCD, and so on via dub)?
Check the github release page (or the DUB repository page) of each project for alpha or beta releases and try those. For example, for DCD [1] you can find 0.9.0-alpha.6, and for libdparse [2] there's 0.7.1-beta.1. [1] https://github.com/Hackerpilot/DCD/releases [2] https://github.com/Hackerpilot/libdparse/releases
Sorry, I answered a question you didn't ask. workspace-d should be able to use any version of the tools you have installed as long as they are on the path. Just install it (you can download a precompiled binary) along with the tools, make sure they're all on the path, and then install code-d. [1] https://github.com/Pure-D/workspace-d/releases
Apr 21
parent Jolly James <j.j jmail.com> writes:
On Friday, 21 April 2017 at 12:19:30 UTC, Mike Parker wrote:
 On Friday, 21 April 2017 at 12:14:59 UTC, Mike Parker wrote:
 [...]
Sorry, I answered a question you didn't ask. workspace-d should be able to use any version of the tools you have installed as long as they are on the path. Just install it (you can download a precompiled binary) along with the tools, make sure they're all on the path, and then install code-d. [1] https://github.com/Pure-D/workspace-d/releases
i'll give it a try. thank you
Apr 22
prev sibling parent Basile B. <b2.temp gmx.com> writes:
On Friday, 21 April 2017 at 12:14:59 UTC, Mike Parker wrote:
 On Thursday, 20 April 2017 at 14:26:42 UTC, Jolly James wrote:

 Do you also know if there is a way to get this working with 
 software relying on dub-DCD like Code-D, the VS-Code D 
 extension (it installs workspace-d, DCD, and so on via dub)?
Check the github release page (or the DUB repository page) of each project for alpha or beta releases and try those. For example, for DCD [1] you can find 0.9.0-alpha.6, and for libdparse [2] there's 0.7.1-beta.1. [1] https://github.com/Hackerpilot/DCD/releases [2] https://github.com/Hackerpilot/libdparse/releases
No No **NO**, don't tell him to use DCD 0.9.0-alpha.6. To anyone: use the master version. Right now it includes an important bug fix. Without this fix you'll experience a lot of crashes. off topic for Parker specifically: can you look at https://github.com/DerelictOrg/DerelictLua/pull/7 ? The filename was no correct under linux.
Apr 21
prev sibling parent reply Jeremy DeHaan <dehaan.jeremiah gmail.com> writes:
On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James wrote:
 A lot (if not all) dub packages by Brian Schott (Hackerpilot) 
 do not compile using the latest stable DMD. Maybe someone can 
 fix these or tell Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

 dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\allo
ator\package.d(322, 13):

Error: std.experimental.allocator.common.Ternary at

dub\packages\experimental_allocator-2.70.0-b1\experimental_allocator\src\std\experimental\al
ocator\common.d(14, 1)

conflicts with std.typecons.Ternary at [...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
I recently upgraded my version of DMD to 2.074 and experienced this, and then found this thread. Just wanted to say that in experimental_allocator-2.70.0-b1's package.d, on lines 252&253, change the std.typecons import to be static or remove it. This got everything except dscanner building, but that appears to be for reasons other than the experimental allocator.
May 06
parent reply Basile B. <b2.temp gmx.com> writes:
On Sunday, 7 May 2017 at 05:40:35 UTC, Jeremy DeHaan wrote:
 On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James 
 wrote:
 A lot (if not all) dub packages by Brian Schott (Hackerpilot) 
 do not compile using the latest stable DMD. Maybe someone can 
 fix these or tell Brian.

 In order to use them I had to downgrade to DMD v2.071.2.

 The errors look like:

[...]
And as his DCD is required for almost all plugins for generic text editors (VSCode, IntelliJ) to support D, this is a great problem.
I recently upgraded my version of DMD to 2.074 and experienced this, and then found this thread. Just wanted to say that in experimental_allocator-2.70.0-b1's package.d, on lines 252&253, change the std.typecons import to be static or remove it. This got everything except dscanner building, but that appears to be for reasons other than the experimental allocator.
Another solution: when you fetch dfmt/dscanner do "dub fetch <package name> version=~master" or replaces "~master" with the latest tag (for example "0.5.0-beta.5"). One problem with DUB is that it fetches the latest *stable* release.
May 09
parent reply Jolly James <j.j jmail.com> writes:
On Wednesday, 10 May 2017 at 00:43:32 UTC, Basile B. wrote:
 On Sunday, 7 May 2017 at 05:40:35 UTC, Jeremy DeHaan wrote:
 On Saturday, 18 February 2017 at 19:20:29 UTC, Jolly James 
 wrote:
 [...]
I recently upgraded my version of DMD to 2.074 and experienced this, and then found this thread. Just wanted to say that in experimental_allocator-2.70.0-b1's package.d, on lines 252&253, change the std.typecons import to be static or remove it. This got everything except dscanner building, but that appears to be for reasons other than the experimental allocator.
Another solution: when you fetch dfmt/dscanner do "dub fetch <package name> version=~master" or replaces "~master" with the latest tag (for example "0.5.0-beta.5"). One problem with DUB is that it fetches the latest *stable* release.
Found a new way to successfully setup everything automatically: If git is installed, code-d will use it instead of dub.
Jun 17
parent Jolly James <j.j jmail.com> writes:
On Saturday, 17 June 2017 at 14:36:49 UTC, Jolly James wrote:
 On Wednesday, 10 May 2017 at 00:43:32 UTC, Basile B. wrote:
 On Sunday, 7 May 2017 at 05:40:35 UTC, Jeremy DeHaan wrote:
 [...]
Another solution: when you fetch dfmt/dscanner do "dub fetch <package name> version=~master" or replaces "~master" with the latest tag (for example "0.5.0-beta.5"). One problem with DUB is that it fetches the latest *stable* release.
Found a new way to successfully setup everything automatically: If git is installed, code-d will use it instead of dub.
Found an even better solution: build workspace-d manually
Jun 17