symmetryinvestments / dud

A new dlang build tool
GNU Lesser General Public License v3.0
35 stars 9 forks source link

New Git clone doesn't build with Dub #10

Closed russel closed 4 years ago

russel commented 4 years ago

I cloned the Git repository and then:

|> dub build --build=release
Performing "release" build using /usr/bin/ldc2 for x86_64.
exception ~master: building configuration "library"...
testdata ~master: building configuration "library"...
utils ~master: building configuration "library"...
sdlang ~master: building configuration "unittest"...
semver ~master: building configuration "library"...
pkgdescription ~master: building configuration "library"...
pkgdescription/source/dud/pkgdescription/platformselection.d(13,9): Error: undefined identifier SemVer
/usr/bin/ldc2 failed with exit code 1.
russel commented 4 years ago

I pulled the repository and tried again, but:

|> dub build --build=release
Performing "release" build using /usr/bin/ldc2 for x86_64.
exception ~master: target for configuration "library" is up to date.
testdata ~master: target for configuration "library" is up to date.
utils ~master: target for configuration "library" is up to date.
sdlang ~master: target for configuration "unittest" is up to date.
semver ~master: target for configuration "library" is up to date.
pkgdescription ~master: building configuration "library"...
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,50): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,52): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,53): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4123,37): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,54): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4122,41): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,51): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4123,37): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,51): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4122,41): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,52): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.TRUE` is deprecated - Use .true_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,50): Deprecation: enum member `std.json.JSONType.TRUE` is deprecated - Use .true_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.TRUE` is deprecated - Use .true_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4123,37): Deprecation: enum member `std.json.JSONType.FALSE` is deprecated - Use .false_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,51): Deprecation: enum member `std.json.JSONType.FALSE` is deprecated - Use .false_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4122,41): Deprecation: enum member `std.json.JSONType.FALSE` is deprecated - Use .false_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,50): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,52): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,53): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4123,37): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,54): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4122,41): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,51): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4123,37): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,51): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4122,41): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,52): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4130,37): Deprecation: enum member `std.json.JSONType.TRUE` is deprecated - Use .true_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,50): Deprecation: enum member `std.json.JSONType.TRUE` is deprecated - Use .true_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4128,17): Deprecation: enum member `std.json.JSONType.TRUE` is deprecated - Use .true_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4123,37): Deprecation: enum member `std.json.JSONType.FALSE` is deprecated - Use .false_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d-mixin-4111(4111,51): Deprecation: enum member `std.json.JSONType.FALSE` is deprecated - Use .false_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/traits.d(4122,41): Deprecation: enum member `std.json.JSONType.FALSE` is deprecated - Use .false_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.NULL` is deprecated - Use .null_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.STRING` is deprecated - Use .string
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.INTEGER` is deprecated - Use .integer
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.UINTEGER` is deprecated - Use .uinteger
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.FLOAT` is deprecated - Use .float_
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.ARRAY` is deprecated - Use .array
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
/usr/lib/ldc/x86_64-linux-gnu/include/d/std/format.d(4373,24): Deprecation: enum member `std.json.JSONType.OBJECT` is deprecated - Use .object
Unhandeled dependencies
Unhandeled targetPath
Unhandeled targetName
Unhandeled workingDirectory
Unhandeled mainSourceFile
Unhandeled dflags
Unhandeled lflags
Unhandeled libs
Unhandeled copyFiles
Unhandeled versions
Unhandeled debugVersions
Unhandeled importPaths
Unhandeled sourcePaths
Unhandeled sourceFiles
Unhandeled excludedSourceFiles
Unhandeled stringImportPaths
Unhandeled preGenerateCommands
Unhandeled postGenerateCommands
Unhandeled preBuildCommands
Unhandeled postBuildCommands
Unhandeled preRunCommands
Unhandeled postRunCommands
Unhandeled configurations
Unhandeled ddoxTool
Unhandeled subPackages
Unhandeled buildRequirements
Unhandeled subConfigurations
Unhandeled buildTypes
Unhandeled buildOptions
Unhandeled platforms
Unhandeled toolchainRequirements
dud ~master: building configuration "application"...
pkgdescription/source/dud/pkgdescription/sdl.d(692,17): Error: pure function dud.pkgdescription.sdl.indent!(LockingTextWriter).indent cannot call impure function std.format.formattedWrite!(LockingTextWriter, char).formattedWrite
pkgdescription/source/dud/pkgdescription/sdl.d(699,8): Error: template instance `dud.pkgdescription.sdl.indent!(LockingTextWriter)` error instantiating
pkgdescription/source/dud/pkgdescription/sdl.d(216,15):        instantiated from here: formatIndent!(LockingTextWriter, string, string)
pkgdescription/source/dud/pkgdescription/sdl.d(80,7):        instantiated from here: stringToSName!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/output.d(33,23):        instantiated from here: packageDescriptionToS!(LockingTextWriter)
source/dud/convert.d(189,9):        instantiated from here: toSDL!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/sdl.d(700,16): Error: pure function dud.pkgdescription.sdl.formatIndent!(LockingTextWriter, string, string).formatIndent cannot call impure function std.format.formattedWrite!(LockingTextWriter, char, string, string).formattedWrite
pkgdescription/source/dud/pkgdescription/sdl.d(80,7): Error: template instance `dud.pkgdescription.sdl.semVerToS!(LockingTextWriter)` error instantiating
pkgdescription/source/dud/pkgdescription/output.d(33,23):        instantiated from here: packageDescriptionToS!(LockingTextWriter)
source/dud/convert.d(189,9):        instantiated from here: toSDL!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/sdl.d(80,7): Error: template instance `dud.pkgdescription.sdl.stringToS!(LockingTextWriter)` error instantiating
pkgdescription/source/dud/pkgdescription/output.d(33,23):        instantiated from here: packageDescriptionToS!(LockingTextWriter)
source/dud/convert.d(189,9):        instantiated from here: toSDL!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/sdl.d(700,16): Error: pure function dud.pkgdescription.sdl.formatIndent!(LockingTextWriter, string, MapResult!(__lambda5, const(string)[])).formatIndent cannot call impure function std.format.formattedWrite!(LockingTextWriter, char, string, MapResult!(__lambda5, const(string)[])).formattedWrite
pkgdescription/source/dud/pkgdescription/sdl.d(251,15): Error: template instance `dud.pkgdescription.sdl.formatIndent!(LockingTextWriter, string, MapResult!(__lambda5, const(string)[]))` error instantiating
pkgdescription/source/dud/pkgdescription/sdl.d(80,7):        instantiated from here: stringsToS!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/output.d(33,23):        instantiated from here: packageDescriptionToS!(LockingTextWriter)
source/dud/convert.d(189,9):        instantiated from here: toSDL!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/sdl.d(700,16): Error: pure function dud.pkgdescription.sdl.formatIndent!(LockingTextWriter, string).formatIndent cannot call impure function std.format.formattedWrite!(LockingTextWriter, char, string).formattedWrite
pkgdescription/source/dud/pkgdescription/sdl.d(667,15): Error: template instance `dud.pkgdescription.sdl.formatIndent!(LockingTextWriter, string)` error instantiating
pkgdescription/source/dud/pkgdescription/sdl.d(80,7):        instantiated from here: dependenciesToS!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/output.d(33,23):        instantiated from here: packageDescriptionToS!(LockingTextWriter)
source/dud/convert.d(189,9):        instantiated from here: toSDL!(LockingTextWriter)
pkgdescription/source/dud/pkgdescription/sdl.d(669,18): Error: pure function dud.pkgdescription.sdl.dependenciesToS!(LockingTextWriter).dependenciesToS cannot call impure function std.format.formattedWrite!(LockingTextWriter, char, string).formattedWrite
pkgdescription/source/dud/pkgdescription/sdl.d(672,18): Error: pure function dud.pkgdescription.sdl.dependenciesToS!(LockingTextWriter).dependenciesToS cannot call impure function std.format.formattedWrite!(LockingTextWriter, char, string).formattedWrite
/usr/bin/ldc2 failed with exit code 1.
burner commented 4 years ago

ldc 1.17 works fine, what version are you on?

russel commented 4 years ago
|> dub --version
DUB version 1.18.0, built on Nov  2 2019
514 lynet:/home/Checkouts/Git/Dud (git:master)
|> ldc2 --version
LDC - the LLVM D compiler (1.17.0):
  based on DMD v2.087.1 and LLVM 8.0.1
  built with LDC - the LLVM D compiler (1.17.0)
  Default target: x86_64-pc-linux-gnu
  Host CPU: haswell
  http://dlang.org - http://wiki.dlang.org/LDC
burner commented 4 years ago

hm, have a look again please. Thank you for your patience

russel commented 4 years ago

Aha, we have a build! :-)

|> ll dud
-rwx------ 2 russel russel 5399736 Nov 20 17:34 dud*

I guess this is a dub problem but dub build --build=release always caused a compile and link of the dud compilation product.

|> dub build --build=release
Performing "release" build using /usr/bin/ldc2 for x86_64.
exception ~master: target for configuration "library" is up to date.
testdata ~master: target for configuration "library" is up to date.
utils ~master: target for configuration "library" is up to date.
sdlang ~master: target for configuration "unittest" is up to date.
semver ~master: target for configuration "library" is up to date.
pkgdescription ~master: target for configuration "library" is up to date.
dud ~master: building configuration "application"...
Linking...
To force a rebuild of up-to-date targets, run again with --force.

|> dub build --build=release
Performing "release" build using /usr/bin/ldc2 for x86_64.
exception ~master: target for configuration "library" is up to date.
testdata ~master: target for configuration "library" is up to date.
utils ~master: target for configuration "library" is up to date.
sdlang ~master: target for configuration "unittest" is up to date.
semver ~master: target for configuration "library" is up to date.
pkgdescription ~master: target for configuration "library" is up to date.
dud ~master: building configuration "application"...
Linking...
To force a rebuild of up-to-date targets, run again with --force.
burner commented 4 years ago

nice, thanks