buggins / dlangide

D language IDE based on DlangUI
Boost Software License 1.0
447 stars 55 forks source link

MacOS Ventura Build Failed #427

Closed abstewart closed 1 year ago

abstewart commented 1 year ago

I've cloned this repo in the past week and am getting the following error when running dub build --force from inside the directory. Running on a 2019 macbook pro with Ventura (13.1)

$ dub build --force
     Warning Warning: License in subpackage dcd:dsymbol is different than it's parent package, this is discouraged.
    Starting Performing "debug" build using /Library/D/dmd/bin/dmd for x86_64.
    Building msgpack-d 1.0.4: building configuration [default]
    Building dcd:common 0.15.2: building configuration [library]
   Pre-build Running commands
../../../../.dub/packages/dcd-0.15.2/dcd/common/src/dcd/common/messages.d(256,3): Deprecation: `return` statements cannot be in `scope(failure)` bodies.
../../../../.dub/packages/dcd-0.15.2/dcd/common/src/dcd/common/messages.d(256,3):        Use try-catch blocks for this purpose
    Building emsi_containers 0.9.0: building configuration [library]
    Building libdparse 0.21.2: building configuration [library]
    Building dcd:dsymbol 0.15.2: building configuration [library]
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(936,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(950,18): Deprecation: reference to local variable `this` assigned to non-scope `(*this.left).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(951,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(908,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(922,19): Deprecation: reference to local variable `this` assigned to non-scope `(*this.right).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(923,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(936,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(950,18): Deprecation: reference to local variable `this` assigned to non-scope `(*this.left).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(951,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(908,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(922,19): Deprecation: reference to local variable `this` assigned to non-scope `(*this.right).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(923,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(936,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(950,18): Deprecation: reference to local variable `this` assigned to non-scope `(*this.left).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(951,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(908,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(922,19): Deprecation: reference to local variable `this` assigned to non-scope `(*this.right).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(923,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(936,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(950,18): Deprecation: reference to local variable `this` assigned to non-scope `(*this.left).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(951,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(908,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(922,19): Deprecation: reference to local variable `this` assigned to non-scope `(*this.right).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(923,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(936,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(950,18): Deprecation: reference to local variable `this` assigned to non-scope `(*this.left).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(951,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(908,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(922,19): Deprecation: reference to local variable `this` assigned to non-scope `(*this.right).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(923,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(721,7): Deprecation: function `dparse.ast.IfStatement.identifier` is deprecated - use condition.identifier
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(726,52): Deprecation: function `dparse.ast.IfStatement.identifier` is deprecated - use condition.identifier
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(727,46): Deprecation: function `dparse.ast.IfStatement.identifier` is deprecated - use condition.identifier
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(728,8): Deprecation: function `dparse.ast.IfStatement.type` is deprecated - use condition.type
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(729,42): Deprecation: function `dparse.ast.IfStatement.type` is deprecated - use condition.type
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(733,36): Deprecation: function `dparse.ast.IfStatement.expression` is deprecated - use condition.expression
../../../../.dub/packages/dcd-0.15.2/dcd/dsymbol/src/dsymbol/conversion/first.d(734,33): Deprecation: function `dparse.ast.IfStatement.expression` is deprecated - use condition.expression
    Building dcd 0.15.2: building configuration [library]
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(936,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(950,18): Deprecation: reference to local variable `this` assigned to non-scope `(*this.left).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(951,19): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).right`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(908,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(922,19): Deprecation: reference to local variable `this` assigned to non-scope `(*this.right).parent`
../../../../.dub/packages/emsi_containers-0.9.0/emsi_containers/src/containers/ttree.d(923,18): Deprecation: reference to local variable `this` assigned to non-scope `(*newRoot).left`
    Building bindbc-loader 1.0.1: building configuration [noBC]
    Building bindbc-freetype 1.0.5: building configuration [dynamic]
    Building bindbc-opengl 1.0.3: building configuration [dynamic]
    Building inilike 1.2.2: building configuration [library]
    Building undead 1.1.8: building configuration [library]
    Building dlangui 0.9.188: building configuration [default]
../../../../.dub/packages/dlangui-0.9.188/dlangui/src/dlangui/platforms/sdl/sdlapp.d(42,8): Error: unable to read module `sdl`
../../../../.dub/packages/dlangui-0.9.188/dlangui/src/dlangui/platforms/sdl/sdlapp.d(42,8):        Expected 'bindbc/sdl.d' or 'bindbc/sdl/package.d' in one of the following import paths:
import path[0] = ../../../../.dub/packages/dlangui-0.9.188/dlangui/3rdparty
import path[1] = ../../../../.dub/packages/dlangui-0.9.188/dlangui/src
import path[2] = ../../../../.dub/packages/bindbc-freetype-1.0.5/bindbc-freetype/source/
import path[3] = ../../../../.dub/packages/bindbc-loader-1.0.1/bindbc-loader/source/
import path[4] = ../../../../.dub/packages/bindbc-opengl-1.0.3/bindbc-opengl/source/
import path[5] = ../../../../.dub/packages/inilike-1.2.2/inilike/source/
import path[6] = ../../../../.dub/packages/undead-1.1.8/undead/src/
import path[7] = /Library/D/dmd/src/phobos
import path[8] = /Library/D/dmd/src/druntime/import
Error /Library/D/dmd/bin/dmd failed with exit code 1.

I have installed sld2 using brew (brew install sdl2)

GrimMaple commented 1 year ago

This seems to be a dlangui issue, as it fails to depend on SDL properly. SDL is the only supported backend for Mac as of now

abstewart commented 1 year ago

Tried again recently, different error about unable to read module sdl.

However, changing the dlangui dependency in the dub.json to "dlangui": "~>0.10.2", seems to resolve the issue, and the application starts up.

GrimMaple commented 1 year ago

Tried again recently, different error about unable to read module sdl.

However, changing the dlangui dependency in the dub.json to "dlangui": "~>0.10.2", seems to resolve the issue, and the application starts up.

That is great, actually! If you can/want, please make a PR for that change, I'll gladly accept it :)