Already >1 year I consider to move from C++ to Dlang or to Rust in my hobby game development (mostly based on physical simulations https://github.com/ProkopHapala/SimpleSimulationEngine). I probably prefer Dlang because it compiles much faster, and I can copy&paste C/C++ code to it without much changes.

But I cannot figure out how to jumpstart. The barrier is to configure environment/libraries.

Up to now I was able to compile just "First Triangle example" (Not sure from where I copyied it)
https://www.dropbox.com/sh/myem3g69qjyo58v/AABZuvwuRDpnskhEC4AAK5AVa?dl=0

but when I tried to clone from github some more sophisticated tutorials or demos it never works. Either it is Windows-only (Visual Studio .snl, no dub; https://github.com/Ingrater/Spacecraft), or there are some dependencies on old versions of libraries, which I don't know how to upgrade. Or it has some other dependecies which documentation does not explain how to configure on linux.

============================================================
These are some cases I tried (and problems I had):
============================================================

#### d-gamedev-team/opengl-tutorials (https://github.com/d-gamedev-team/opengl-tutorials)

opengl-tutorials/ports/opengl-tutorial.org/$ dub
Failed to find any versions for package glad-drey, referenced by opengl-tutorial.org ~master

opengl-tutorials/ports/opengl-tutorial.org/tutorials/02_triangle$ dub Failed to find any versions for package glamour-drey, referenced by gltut-utility >=0.0.0 @/home/prokop/git_SW/_Dlang/opengl-tutorials/utility


#### kiith-sa/d-gl-tutorial (https://github.com/kiith-sa/d-gl-tutorial)

(dmd-2.088.0)prokop@prokop-Lenovo-ideapad-Y700-15ISK:~/git_SW/_Dlang/d-gl-tutorial$
 ./compile.sh
./DerelictUtil-master/source/derelict/util/sharedlib.d(40): Error: module linux is in file 'std/c/linux/linux.d' which cannot be read
import path[0] = ./DerelictGL3-master/source/
import path[1] = ./DerelictSDL2-master/source/
import path[2] = ./DerelictUtil-master/source/
import path[3] = .
import path[4] = /home/prokop/dlang/dmd-2.088.0/linux/bin64/../../src/phobos import path[5] = /home/prokop/dlang/dmd-2.088.0/linux/bin64/../../src/druntime/import Failed: ["/home/prokop/dlang/dmd-2.088.0/linux/bin64/dmd", "-I./DerelictGL3-master/source/", "-I./DerelictSDL2-master/source/", "-I./DerelictUtil-master/source/", "-v", "-o-", "triangle.d", "-I."]


#### Dagon (https://github.com/gecko0307/dagon)

... it compiles and produce 'libdagon.a', but what to do with it? there are not demos/examples

#### dagon-demo (https://github.com/gecko0307/dagon-demo)

Linking...
Copying files for dagon...
Invalid source/import path: /home/prokop/git_SW/_Dlang/dagon-demo/shaders
Running ./dagondemo
Error: Nuklear library is not found. Please, install Nuklear.
Program exited with code 1
... Almost there, but still I don't know how to make it run

#### dmech (https://github.com/gecko0307/dmech)

Target is a library. Skipping execution.

#### dmech/demos (https://github.com/gecko0307/dmech)

dlib 0.12.2: building configuration "library"...
../../../../.dub/packages/dlib-0.12.2/dlib/dlib/core/stream.d(228,16): Error: 
module string is in file 'std/c/string.d' which cannot be read
import path[0] = ../../../../.dub/packages/dlib-0.12.2/dlib
import path[1] = /home/prokop/dlang/dmd-2.088.0/linux/bin64/../../src/phobos import path[2] = /home/prokop/dlang/dmd-2.088.0/linux/bin64/../../src/druntime/import /home/prokop/dlang/dmd-2.088.0/linux/bin64/dmd failed with exit code 1.

#### Dash (https://github.com/Circular-Studios/Dash)

Running pre-build commands...
cp: cannot create regular file '/usr/lib/libsoloud_x86.so': Permission denied source/dash/utility/data/yaml.d(4,15): Deprecation: module yaml is deprecated - Import dyaml instead
../../../.dub/packages/vibe-d-0.7.33/vibe-d/source/vibe/core/log.d(554,21): Error: 
Built-in hex string literals are obsolete, use std.conv.hexString!"EFBBBF" 
instead.
source/dash/utility/input/input.d(7,8): Deprecation: module yaml is deprecated - Import dyaml instead source/dash/core/gameobject.d(7,8): Deprecation: module yaml is deprecated - Import dyaml instead source/dash/components/assets.d(10,8): Deprecation: module yaml is deprecated - Import dyaml instead source/dash/components/material.d(7,8): Deprecation: module yaml is deprecated - Import dyaml instead source/dash/components/mesh.d(8,19): Error: module stream is in file 'std/stream.d' which cannot be read

#### Sample-Dash-Game (https://github.com/Circular-Studios/Sample-Dash-Game)

logger 0.3.3: building configuration "library"...
Error: module std.experimental.logger.core from file ../../../.dub/packages/logger-0.3.3/logger/std/experimental/logger/core.d is specified twice on the command line Error: module std.experimental.logger.filelogger from file ../../../.dub/packages/logger-0.3.3/logger/std/experimental/logger/filelogger.d is specified twice on the command line Error: module std.experimental.logger.multilogger from file ../../../.dub/packages/logger-0.3.3/logger/std/experimental/logger/multilogger.d is specified twice on the command line Error: module std.experimental.logger.nulllogger from file ../../../.dub/packages/logger-0.3.3/logger/std/experimental/logger/nulllogger.d is specified twice on the command line
../../../.dub/packages/logger-0.3.3/logger/std/experimental/logger/package.d(1,1):
 Error: module std.experimental.logger from file 
../../../.dub/packages/logger-0.3.3/logger/std/experimental/logger/package.d 
conflicts with package name logger
/home/prokop/dlang/dmd-2.088.0/linux/bin64/dmd failed with exit code 1.

Reply via email to