dlang-community / stdx-allocator

Extracted std.experimental.allocator for usage via DUB
9 stars 29 forks source link

Release 2.77.1 does not compile using dmd 2.081.1. #8

Closed veelo closed 6 years ago

veelo commented 6 years ago

stdx-allocator\source\stdx\allocator\mallocator.d(136,20): Error: module stdlib is in file 'std\c\stdlib.d' which cannot be read

It's probably s/std.c.stdlib/core.stdc.stdlib/.

Pulling this out of phobos may have its advantages, but there is a danger of it running behind. Adding it to the autotester would help, but it would mostly just duplicate the verification that already happens for phobos... Are there other options for synchronisation?

wilzbach commented 6 years ago

Use 2.77.2 (like displayed on http://code.dlang.org/packages/stdx-allocator)

Adding it to the autotester would help

Lots of projects that depend on it are part of the Project Tester (autotester is a different thing). For example: DScanner, libdparse, DCD, dub, ...

Are there other options for synchronisation?

This isn't (really) supposed to be synchronized with Phobos. If you want that, use Phobos (it's a even a Dub package now: https://forum.dlang.org/post/rxpabsvbyeefgqzryzma@forum.dlang.org). This is just a quickly created legacy package for people using the old allocator interface. It might get updated, but currently there are no breaking changes for stdx.allocator (in Phobos) planned.

veelo commented 6 years ago

Sorry, I just noticed the newer release. It is pulled in by dfmt, which is correctly identified as upgradable, but just doing dub upgrade seems to skip it.

veelo commented 6 years ago

Sorry for diverting, but do you have any idea why dub upgrade just doesn't seem to do anything?

C:\Users\bastiaan\Documents\D\Pascal2D\epcompat>dub upgrade
Upgrading project in C:\Users\bastiaan\Documents\D\Pascal2D\epcompat

C:\Users\bastiaan\Documents\D\Pascal2D\epcompat>dub list
Packages present in the system and known to dub:
  epcompat ~master: C:\Users\bastiaan\Documents\D\Pascal2D\epcompat\
  botan 1.12.9: C:\Users\bastiaan\AppData\Local\dub\packages\botan-1.12.9\botan\
  botan-math 1.0.3: C:\Users\bastiaan\AppData\Local\dub\packages\botan-math-1.0.3\botan-math\
  ddox 0.16.7: C:\Users\bastiaan\AppData\Local\dub\packages\ddox-0.16.7\ddox\
  dfmt 0.7.0: C:\Users\bastiaan\AppData\Local\dub\packages\dfmt-0.7.0\dfmt\
  dfmt 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\dfmt-0.8.2\dfmt\
  diet-ng 1.4.3: C:\Users\bastiaan\AppData\Local\dub\packages\diet-ng-1.4.3\diet-ng\
  diet-ng 1.4.5: C:\Users\bastiaan\AppData\Local\dub\packages\diet-ng-1.4.5\diet-ng\
  dscanner 0.4.1: C:\Users\bastiaan\AppData\Local\dub\packages\dscanner-0.4.1\dscanner\
  dsymbol 0.2.9: C:\Users\bastiaan\AppData\Local\dub\packages\dsymbol-0.2.9\dsymbol\
  emsi_containers 0.5.3: C:\Users\bastiaan\AppData\Local\dub\packages\emsi_containers-0.5.3\emsi_containers\
  eventcore 0.8.17: C:\Users\bastiaan\AppData\Local\dub\packages\eventcore-0.8.17\eventcore\
  eventcore 0.8.20: C:\Users\bastiaan\AppData\Local\dub\packages\eventcore-0.8.20\eventcore\
  eventcore 0.8.27: C:\Users\bastiaan\AppData\Local\dub\packages\eventcore-0.8.27\eventcore\
  eventcore 0.8.34: C:\Users\bastiaan\AppData\Local\dub\packages\eventcore-0.8.34\eventcore\
  hyphenate 1.1.1: C:\Users\bastiaan\AppData\Local\dub\packages\hyphenate-1.1.1\hyphenate\
  inifiled 1.0.2: C:\Users\bastiaan\AppData\Local\dub\packages\inifiled-1.0.2\inifiled\
  libasync 0.8.3: C:\Users\bastiaan\AppData\Local\dub\packages\libasync-0.8.3\libasync\
  libddoc 0.2.0: C:\Users\bastiaan\AppData\Local\dub\packages\libddoc-0.2.0\libddoc\
  libdparse 0.7.1: C:\Users\bastiaan\AppData\Local\dub\packages\libdparse-0.7.1\libdparse\
  libdparse 0.7.2-alpha.5: C:\Users\bastiaan\AppData\Local\dub\packages\libdparse-0.7.2-alpha.5\libdparse\
  libdparse 0.8.5: C:\Users\bastiaan\AppData\Local\dub\packages\libdparse-0.8.5\libdparse\
  libevent 2.0.2+2.0.16: C:\Users\bastiaan\AppData\Local\dub\packages\libevent-2.0.2_2.0.16\libevent\
  memutils 0.4.10: C:\Users\bastiaan\AppData\Local\dub\packages\memutils-0.4.10\memutils\
  memutils 0.4.9: C:\Users\bastiaan\AppData\Local\dub\packages\memutils-0.4.9\memutils\
  mir-algorithm 1.0.2: C:\Users\bastiaan\AppData\Local\dub\packages\mir-algorithm-1.0.2\mir-algorithm\
  openssl 1.1.5+1.0.1g: C:\Users\bastiaan\AppData\Local\dub\packages\openssl-1.1.5_1.0.1g\openssl\
  openssl 1.1.6+1.0.1g: C:\Users\bastiaan\AppData\Local\dub\packages\openssl-1.1.6_1.0.1g\openssl\
  pegged 0.4.2: C:\Users\bastiaan\AppData\Local\dub\packages\pegged-0.4.2\pegged\
  pegged 0.4.3: C:\Users\bastiaan\AppData\Local\dub\packages\pegged-0.4.3\pegged\
  scod 0.4.3: C:\Users\bastiaan\AppData\Local\dub\packages\scod-0.4.3\scod\
  stdx-allocator 2.77.1: C:\Users\bastiaan\AppData\Local\dub\packages\stdx-allocator-2.77.1\stdx-allocator\
  taggedalgebraic 0.10.11: C:\Users\bastiaan\AppData\Local\dub\packages\taggedalgebraic-0.10.11\taggedalgebraic\
  taggedalgebraic 0.10.7: C:\Users\bastiaan\AppData\Local\dub\packages\taggedalgebraic-0.10.7\taggedalgebraic\
  taggedalgebraic 0.10.8: C:\Users\bastiaan\AppData\Local\dub\packages\taggedalgebraic-0.10.8\taggedalgebraic\
  vibe-core 1.2.0: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-core-1.2.0\vibe-core\
  vibe-core 1.3.0: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-core-1.3.0\vibe-core\
  vibe-core 1.4.0: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-core-1.4.0\vibe-core\
  vibe-d 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\
  vibe-d:utils 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\utils\
  vibe-d:data 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\data\
  vibe-d:core 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\core\
  vibe-d:stream 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\stream\
  vibe-d:tls 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\tls\
  vibe-d:crypto 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\crypto\
  vibe-d:textfilter 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\textfilter\
  vibe-d:inet 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\inet\
  vibe-d:mail 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\mail\
  vibe-d:http 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\http\
  vibe-d:mongodb 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\mongodb\
  vibe-d:redis 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\redis\
  vibe-d:web 0.8.2: C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.2\vibe-d\web\
wilzbach commented 6 years ago

You don't list the dependencies in https://github.com/veelo/Pascal2D/blob/master/epcompat/dub.json, thus dub upgrade can't work.

veelo commented 6 years ago

I just did dub fetch dfmt. Now whenever I do dub run dfmt, I get the error. I would think it should upgrade regardless of the dependencies of the project I happen to be in.

I'll try to trick it by adding a dependency.

Thanks.

wilzbach commented 6 years ago

dub upgrade dfmt might work too. Alternatively, simply edit the dub.selection.json file ;-)

I would think it should upgrade regardless of the dependencies of the project I happen to be in.

Not if you hard-coded the version of it with in the dub.selections.json

veelo commented 6 years ago

dub upgrade dfmt does not work. I added "dfmt": "~>0.8.2", to the dependencies of the sub-project that I am currently in, then

C:\Users\bastiaan\Documents\D\Pascal2D\examples\schema>dub upgrade
Upgrading project in C:\Users\bastiaan\Documents\D\Pascal2D\examples\schema
Fetching libdparse 0.8.8 (getting selected version)...

Then

C:\Users\bastiaan\Documents\D\Pascal2D\examples\schema>dub run dfmt
Building package dfmt in C:\Users\bastiaan\AppData\Local\dub\packages\dfmt-0.7.0\dfmt\
Package stdx-allocator can be upgraded from 2.77.1 to 2.77.2.
Package libdparse can be upgraded from 0.8.5 to 0.8.8.
Use "dub upgrade" to perform those changes.
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86.
stdx-allocator 2.77.1: building configuration "library"...
..\..\..\..\..\AppData\Local\dub\packages\stdx-allocator-2.77.1\stdx-allocator\source\stdx\allocator\mallocator.d(136,20): Error: module `stdlib` is in file 'std\c\stdlib.d' which cannot be read
import path[0] = ..\..\..\..\..\AppData\Local\dub\packages\stdx-allocator-2.77.1\stdx-allocator\source
import path[1] = C:\D\dmd2\windows\bin\..\..\src\phobos
import path[2] = C:\D\dmd2\windows\bin\..\..\src\druntime\import
C:\D\dmd2\windows\bin\dmd.exe failed with exit code 1.

Noticed it upgraded libdparse, yet is appears still upgradable. My dub.selection.json of the sub-project that I am currently in looks good, doesn't it?:

{
    "fileVersion": 1,
    "versions": {
        "dfmt": "0.8.2",
        "libdparse": "0.8.8",
        "pascal2d": {"path":"../.."},
        "pegged": "0.4.3",
        "stdx-allocator": "2.77.2"
    }
}
veelo commented 6 years ago

Solved it:

C:\Users\bastiaan\Documents\D\Pascal2D\examples\schema>dub remove dfmt --version=*
Removing dfmt in C:\Users\bastiaan\AppData\Local\dub\packages\dfmt-0.7.0\dfmt\
Removed package: 'dfmt'
Removed dfmt, version 0.7.0.
Removing dfmt in C:\Users\bastiaan\AppData\Local\dub\packages\dfmt-0.8.2\dfmt\
Removed package: 'dfmt'
Removed dfmt, version 0.8.2.

C:\Users\bastiaan\Documents\D\Pascal2D\examples\schema>dub fetch dfmt
Fetching dfmt 0.8.2...
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.

C:\Users\bastiaan\Documents\D\Pascal2D\examples\schema>dub run dfmt
Building package dfmt in C:\Users\bastiaan\AppData\Local\dub\packages\dfmt-0.8.2\dfmt\
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86.
stdx-allocator 2.77.2: building configuration "library"...
libdparse 0.8.8: building configuration "library"...
dfmt 0.8.2: building configuration "application"...
..\..\..\..\..\AppData\Local\dub\packages\dfmt-0.8.2\dfmt\src\dfmt\main.d(90,38): Deprecation: function `std.exception.enforceEx!(GetOptException).enforceEx!bool.enforceEx` is deprecated - Use enforce. enforceEx will be removed with 2.089.
Linking...
Running ..\..\..\..\..\AppData\Local\dub\packages\dfmt-0.8.2\dfmt\bin\dfmt.exe

Thanks for the support!!

Bastiaan.