deepnight / ldtk

Modern, lightweight and efficient 2D level editor
https://ldtk.io
MIT License
3.41k stars 188 forks source link

Unable to build/run on MacOS #565

Open nene opened 2 years ago

nene commented 2 years ago

I tried and failed building and running on both master and dev-0.10.0 branches.

Did a complete cleanup between installs (uninstalling all haxe libs and deleting the whole ldtk repo).

On master banch

Note: I ran the haxe setup.hxml instead of executing separate install commands as specified in the README of master branch.

I got as far as haxe renderer.debug.hxml, which didn't generate the app/assets/js/renderer.js file but instead gave me bunch of errors:

Converting /Users/nene/github/ldtk/res/fonts/roboto72.fnt
Converting /Users/nene/github/ldtk/res/fonts/roboto48.fnt
Converting /Users/nene/github/ldtk/res/fonts/roboto36.fnt
Converting /Users/nene/github/ldtk/res/fonts/roboto30.fnt
Converting /Users/nene/github/ldtk/res/fonts/roboto24.fnt
Converting /Users/nene/github/ldtk/res/fonts/minecraftiaOutline.fnt
src/electron.renderer/ui/modal/dialog/Confirm.hx:18: characters 4-54 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/Dialog.hx:77: characters 21-30 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/Dialog.hx:77: characters 21-30 : ... For function argument 'label'
src/electron.renderer/ui/modal/Dialog.hx:86: characters 21-29 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/Dialog.hx:86: characters 21-29 : ... For function argument 'label'
src/electron.renderer/ui/modal/dialog/Choice.hx:9: characters 3-53 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/dialog/Choice.hx:17: characters 15-22 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/dialog/Choice.hx:17: characters 15-22 : ... For function argument 'label'
src/electron.renderer/ui/modal/Dialog.hx:94: characters 21-28 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/Dialog.hx:94: characters 21-28 : ... For function argument 'label'
src/electron.renderer/data/def/LayerDef.hx:37: characters 16-39 : dn.data.LocaleString should be Int
src/electron.renderer/data/def/LayerDef.hx:37: characters 16-39 : ... For function argument 'id'
src/electron.renderer/ui/modal/dialog/Sync.hx:55: characters 13-34 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/dialog/Sync.hx:55: characters 13-34 : ... For function argument 'label'
src/electron.renderer/exporter/Exporter.hx:47: characters 38-61 : String should be Null<dn.data.LocaleString>
src/electron.renderer/exporter/Exporter.hx:47: characters 38-61 : ... For optional function argument 'title'
src/electron.renderer/ui/modal/DebugMenu.hx:131: characters 37-61 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/DebugMenu.hx:131: characters 37-61 : ... For function argument 'str'
src/electron.renderer/WorldTool.hx:112: characters 26-55 : String should be dn.data.LocaleString
src/electron.renderer/WorldTool.hx:112: characters 26-55 : ... For function argument 'str'
src/electron.renderer/ui/TagEditor.hx:42: characters 14-15 : String should be dn.data.LocaleString
src/electron.renderer/ui/TagEditor.hx:42: characters 14-15 : ... For function argument 'a'
src/electron.renderer/ui/FieldDefsForm.hx:89: characters 15-28 : String should be dn.data.LocaleString
src/electron.renderer/ui/FieldDefsForm.hx:89: characters 15-28 : ... For function argument 'a'
src/electron.renderer/ui/FieldDefsForm.hx:95: characters 21-62 : Null<String> should be dn.data.LocaleString
src/electron.renderer/ui/FieldDefsForm.hx:95: characters 21-62 : ... For function argument 'str'
src/electron.renderer/ui/FieldDefsForm.hx:98: characters 16-29 : String should be dn.data.LocaleString
src/electron.renderer/ui/FieldDefsForm.hx:98: characters 16-29 : ... For function argument 'a'
src/electron.renderer/ui/modal/panel/LevelInstancePanel.hx:26: characters 22-55 : String should be dn.data.LocaleString
src/electron.renderer/ui/modal/panel/LevelInstancePanel.hx:26: characters 22-55 : ... For function argument 'str'
src/electron.renderer/page/Home.hx:116: characters 51-64 : String should be dn.data.LocaleString
src/electron.renderer/page/Home.hx:116: characters 51-64 : ... For function argument 'a'
src/electron.renderer/Lang.hx:134: characters 4-32 : String should be dn.data.LocaleString
src/electron.renderer/Lang.hx:137: characters 18-32 : String should be dn.data.LocaleString
src/electron.renderer/Lang.hx:137: characters 35-51 : String should be dn.data.LocaleString
src/electron.renderer/Lang.hx:141: characters 18-30 : String should be dn.data.LocaleString
src/electron.renderer/Lang.hx:141: characters 33-47 : String should be dn.data.LocaleString

On dev-0.10.0 branch

I ran haxe setup.hxml followed by:

haxelib git ldtk-haxe-api https://github.com/deepnight/ldtk-haxe-api.git dev-0.10.0

When running haxe renderer.debug.hxml I first got the error:

Error: Error: Cannot process [uuid]: Library uuid is not installed : run 'haxelib install uuid'

So I installed the uuid lib manually, after which the build succeeded and I continued with npm run start

But after waiting several minutes nothing happened. The Electron seemed to have started (I see its icon on MacOS dock and node /Users/nene/github/ldtk/app/node_modules/.bin/electron appears in process list), but that's all.

I made sure I had no other Node servers running at the time. Even closed apps which I knew were using Electron internally.

No idea really what else to try. I tried building it a few weeks ago, but failed with similar problems.

PS. The LDTK runs just fine on my machine when I download the zip file from the ldtk.io, but I was really interested in fiddling with the source code.

nene commented 2 years ago

I found that I'm able to build and run LDTK when I use this PR: https://github.com/deepnight/ldtk/pull/504

Though admittedly this PR is quite old by now. Any chance of it getting merged? The installation with that PR was a breeze compared to the current instructions in README.

PXshadow commented 2 years ago

Hey @nene that's great to hear! I'd be happy to update the PR if it had prospects to be merged. Though I understand if the project wants to focus on a non lix streamlined setup.