Map editor

Thanks. I’ll try that next weekend :slight_smile:

Also you could try official Debian packages (fpc, fpc-source, lazarus-ide, note that names differ from upstream) from Stretch or Jessie with backports. There are serious issues with packaging of Lazarus (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823706), but I probably worked them around already.

P.S. Makefile is pretty much trivial, all you actually need to do to build is one command

lazbuild 3rd_party/opengl/vcmiopenglcontext.lpk vcmieditor.lpr

That’s exactly the command that failed. Probably because of missing lazbuild :slight_smile:

Now:

Hint: (lazarus) Missing state file of LCL 1.6.2: /home/siegfried/.lazarus/lib/units/x86_64-linux/gtk2/LCL.compiled
Error: (lazarus) [TExternalTool.DoExecute.CheckError] Error=fehlende ausführbare Datei ""
Error: (lazarus) Kompiliere Package FCL 1.0.1: fehlende ausführbare Datei ""
Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "fehlende ausführbare Datei “”"
Error: (lazarus) Compile required packages failed: vcmiOpenGLContext 0.0.1
ERROR: vcmiOpenGLContext 0.0.1 compilation failed
Makefile:4: die Regel für Ziel „vcmieditor“ scheiterte
make: *** [vcmieditor] Fehler 2

fehlende ausführbare Datei -> missing executable file

So what file is missing here? It seems there is an empty file name.

Looks like lazbuild could not find compiler executable.
Could you manually execute f.e. /usr/bin/fpc "-iWTOTP"

Hi,

no. Obviously because there is no such executable in /usr/bin. But there seems to be one in /usr/lib. Would it help to add a soft link?

Soft link could help

You’re extremely fast :slight_smile:

I tried, but got some strange results. I do not get a file named fpc, but a file named “3.0.0” ???
I check this and report later.

  1. /usr/lib/fpc is no file, but a directory. Contains an ini and something more.

I’m just installing it again. In case something went wrong.

You should have /usr/bin/fpc simlink to /usr/bin/fpc-3.0.0 (or whatever version you have) executable

I installed new, and now make completes. Although there seem to be some issue:

/usr/bin/ld: warning: /home/siegfried/prj/vcmi/editor/vcmi_editor-master/bin/link.res contains output sections; did you forget -T?
(1008) 46004 lines compiled, 4.8 sec
(1021) 10 warning(s) issued
(1023) 7 note(s) issued

Where i am supposed to find the executable?

It is known bug with some fpc versions and some binutils versions, but it mostly harmless.

Executable should be in ./bin subdirectory of repo checkout

Yup, found. Tried. Error is: “Filesystem configuration not found”.

I’m not sure about the error message, but according to your other posts, the executable has to be copied into some vcmi directory. Not what directory? Ist it $HOME/.local/vcmi? Or is it /usr/games (where the vcmi executables are), or is it /usr/share/vcmi (where the system-wide configurations reside)?

Short pause (lunch time). I report later.

You need to create gamepath.txt alongside editor executable with paths to VCMI data files

/usr/share/vcmi    
/home/siegfried/.local/vcmi

Not sure that $HOME substitution will work
(On windows all VCMI files are in same place so you can just copy editor there, but I still recommend use gamepath.txt in all release notes, see https://github.com/vcmi/vcmi_editor/releases)

One day I make default paths configuration on Linux work.

Well, that did not help. I created the file gamepath.txt in the directory where the executable resides. I tried launching from GUI, and i tried launching from console after changing to that directory. Still the same error.

The file is accessible (i can cat it), so that should not be the problem. And i used full path without $HOME. Just as you suggested.

Here is the trace:

/home/siegfried/prj/vcmi/editor/vcmi_editor-master/bin/vcmieditor_d
Heap dump by heaptrc unit
8638 memory blocks allocated : 1706043/1733384
8624 memory blocks freed : 1705153/1732472
14 unfreed memory blocks : 890
True heap size : 294912
True free heap : 291808
Should be : 292208
Call trace for block $00007F4D0B819080 size 140
$0000000000450236
$000000000047D1F8 line 1559 of include/application.inc
$000000000047C2F5 line 1243 of include/application.inc
$00000000004690C5 line 1843 of forms.pp
$0000000000431DF1
$000000000041E837 line 42 of vcmieditor.lpr
$0000000000617760 line 7365 of include/wincontrol.inc
Call trace for block $00007F4D0B8A0BE0 size 60
$000000000047C2F5 line 1243 of include/application.inc
$00000000004690C5 line 1843 of forms.pp
$0000000000431DF1
$000000000041E837 line 42 of vcmieditor.lpr
$00000000004BCDEC
$00000000004BE7BD
$000000000057C78D line 3162 of lresources.pp
Call trace for block $00007F4D024C3EC0 size 34
$0000000000431DF1
$000000000041E837 line 42 of vcmieditor.lpr
$000000000057C78D line 3162 of lresources.pp
$0000000000574531 line 800 of lresources.pp
$00000000004B68C9
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
Call trace for block $00007F4D0B819BC0 size 128
$0000000000431EA1
$000000000079986A line 1616 of filesystem.pas
$0000000000795621 line 873 of filesystem.pas
$000000000048CC18 line 184 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
Call trace for block $00007F4D024DB5C0 size 40
$0000000000431EA1
$000000000079986A line 1616 of filesystem.pas
$0000000000795621 line 873 of filesystem.pas
$000000000048CC18 line 184 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
Call trace for block $00007F4D024DB980 size 24
$000000000079986A line 1616 of filesystem.pas
$0000000000795621 line 873 of filesystem.pas
$000000000048CC18 line 184 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$0000000000629E2C line 58 of include/graphiccontrol.inc
Call trace for block $00007F4D024C2300 size 24
$00000000007B8273 line 503 of editor_gl.pas
$000000000048CB64 line 179 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$000000000061CB39 line 715 of include/control.inc
$0000000000624121 line 3687 of include/control.inc
Call trace for block $00007F4D0B8A1200 size 64
$000000000048CB4B line 178 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$00000000008537A5 line 11082 of vcmi.glext.pp
$00000000008541C2 line 11213 of vcmi.glext.pp
$0000000000854485 line 11276 of vcmi.glext.pp
Call trace for block $00007F4D0B8A2700 size 52
$0000000000890E28 line 109 of vcmi.dirs.base.pas
$00000000008913A2 line 50 of vcmi.dirs.xdg.pas
$000000000048C55A line 131 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
Call trace for block $00007F4D0B8A2620 size 64
$0000000000890E28 line 109 of vcmi.dirs.base.pas
$00000000008913A2 line 50 of vcmi.dirs.xdg.pas
$000000000048C55A line 131 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$0000000000574531 line 800 of lresources.pp
Call trace for block $00007F4D024C2180 size 44
$0000000000890E28 line 109 of vcmi.dirs.base.pas
$00000000008913A2 line 50 of vcmi.dirs.xdg.pas
$000000000048C55A line 131 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$0000000000471EB4 line 1980 of include/customform.inc
Call trace for block $00007F4D0B8A2540 size 80
$00000000008913A2 line 50 of vcmi.dirs.xdg.pas
$000000000048C55A line 131 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$0000000000618F08 line 7811 of include/wincontrol.inc
$0000000000618336 line 7500 of include/wincontrol.inc
Call trace for block $00007F4D0B82E3C0 size 112
$00000000008913A2 line 50 of vcmi.dirs.xdg.pas
$000000000048C55A line 131 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
Call trace for block $00007F4D024E1D40 size 24
$000000000048C55A line 131 of root_manager.pas
$00000000004B3B43
$000000000047EBC5 line 2173 of include/application.inc
$000000000041E837 line 42 of vcmieditor.lpr
$00000000004B6FE3
$0000000000574531 line 800 of lresources.pp
$0000000000471EB4 line 1980 of include/customform.inc

Trace is somewhat useless, this trace is of the heap, I do not care about memory leaks on fatal crash. (But if you get Heap dump by heaptrc unit with unfreed memory blocks in normal situation please report)

could you post directory listings of paths in gamepath.txt? Also what is in VCMI_Editor.log?

$HOME/.local/vcmi:

insgesamt 200
drwx------ 2 siegfried siegfried 4096 Jan 30 17:49 Data
drwxrwxr-x 4 siegfried siegfried 135168 Mär 9 12:28 dev
drwxrwxr-x 9 siegfried siegfried 20480 Mär 10 15:24 install
drwx------ 2 siegfried siegfried 12288 Mär 10 17:52 Maps
drwxrwxr-x 29 siegfried siegfried 20480 Mär 10 15:24 Mods
drwx------ 2 siegfried siegfried 4096 Jan 29 17:56 Mp3
drwxrwxr-x 2 siegfried siegfried 4096 Mär 2 17:10 Saves
drwxrwxr-x 3 siegfried siegfried 4096 Mär 2 19:11 tmp

/usr/share/vcmi:
insgesamt 12
drwxr-xr-x 8 root root 4096 Mär 6 16:55 config
drwxr-xr-x 3 root root 4096 Feb 26 16:30 launcher
drwxr-xr-x 3 root root 4096 Feb 26 16:30 Mods

I made the “install” directory in $HOME/.local/share/vcmi manually to copy all vcmi related downloads there before installing :slight_smile:

P.S. Unfortunately i will not have much more time now. I hope we can continue next weekend. For now i have only a few minutes left. During the week i will have no time for vcmi :frowning:

There is no VCMI_Editor.log

Is /usr/share/vcmi/config/filesystem.json present?

Yes.

I’m checking the file. Maybe some issue with lower/upper case?

Lower/upper case looks OK