Package Details: gridmonger-git 1.2.0.r38.0cde3f8-2

Git Clone URL: https://aur.archlinux.org/gridmonger-git.git (read-only, click to copy)
Package Base: gridmonger-git
Description: Your trusty old-school cRPG mapping companion
Upstream URL: https://gridmonger.johnnovak.net/
Licenses: custom:WTFPL
Conflicts: gridmonger
Provides: gridmonger
Submitter: silverhikari
Maintainer: silverhikari
Last Packager: silverhikari
Votes: 1
Popularity: 0.48
First Submitted: 2024-01-01 17:31 (UTC)
Last Updated: 2025-08-17 19:12 (UTC)

Pinned Comments

Latest Comments

1 2 Next › Last »

jagh122 commented on 2025-08-17 18:16 (UTC)

Sorry to bother you again, but now it crashes when trying to save or load a file. (and that's after clean reinstall)

Now it has permissions issue trying to open /opt/gridmonger/Config/gridmonger.cfg. Deleting /opt/gridmonger/Config directory fixes this, so you probably should remove the making of it from pkgbuild, since it's empty at start anyway.

jagh122 commented on 2025-08-17 17:43 (UTC)

Just adding my user to the group "games" wasn't enough, I had to uninstall and reinstall the package. But now it finally seems to work.

silverhikari commented on 2025-08-17 17:27 (UTC) (edited on 2025-08-17 17:29 (UTC) by silverhikari)

@jagh122 did you add your user to the "games" group (you may have to create the group)?

jagh122 commented on 2025-08-17 17:20 (UTC)

It also wants to open Autosaves, User Themes, User Themes/Images ... all of them don't exist and cause an immediate crash. I don't know if there is more, I kinda got bored.

jagh122 commented on 2025-08-17 17:10 (UTC)

@silverhikari

The terminal output is nothing interesting. It just crashes immediately without much fanfare: https://i.imgur.com/bo8cybj.png

Now, the output of strace gridmonger is much more interesting. Here is a chunk of it right before the crash:

futex(0x7fd377f5a9b0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd377f5ad70, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd377f5afd0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd377f5afcc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd377f5a9b8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd377f5afdc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd3779ff7dc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fd3780940b0, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fd37803e540}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fd377600000
madvise(0x7fd377600000, 4096, MADV_GUARD_INSTALL) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7fd3777ff990, parent_tid=0x7fd3777ff990, exit_signal=0, stack=0x7fd377600000, stack_size=0x1fbc00, tls=0x7fd3777ff6c0} => {parent_tid=[100984]}, 88) = 100984
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fd377400000
madvise(0x7fd377400000, 4096, MADV_GUARD_INSTALL) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7fd3775ff990, parent_tid=0x7fd3775ff990, exit_signal=0, stack=0x7fd377400000, stack_size=0x1fbc00, tls=0x7fd3775ff6c0} => {parent_tid=[100985]}, 88) = 100985
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
readlink("/proc/self/exe", "/opt/gridmonger/gridmonger", 1024) = 26
newfstatat(AT_FDCWD, "/opt/gridmonger/Config", {st_mode=S_IFDIR|0775, st_size=0, ...}, 0) = 0
mkdir("/opt/", 0777)                    = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/", {st_mode=S_IFDIR|0755, st_size=100, ...}, 0) = 0
mkdir("/opt/gridmonger", 0777)          = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/gridmonger", {st_mode=S_IFDIR|0775, st_size=76, ...}, 0) = 0
mkdir("/opt/", 0777)                    = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/", {st_mode=S_IFDIR|0755, st_size=100, ...}, 0) = 0
mkdir("/opt/gridmonger/", 0777)         = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/gridmonger/", {st_mode=S_IFDIR|0775, st_size=76, ...}, 0) = 0
mkdir("/opt/gridmonger/Config", 0777)   = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/gridmonger/Config", {st_mode=S_IFDIR|0775, st_size=0, ...}, 0) = 0
mkdir("/opt/", 0777)                    = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/", {st_mode=S_IFDIR|0755, st_size=100, ...}, 0) = 0
mkdir("/opt/gridmonger/", 0777)         = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/opt/gridmonger/", {st_mode=S_IFDIR|0775, st_size=76, ...}, 0) = 0
mkdir("/opt/gridmonger/Logs", 0777)     = -1 EACCES (Permission denied)
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd377ff3d90) = 100986
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(100986, 
(zenity:100986): Gtk-WARNING **: 19:02:14.865: Unknown key gtk-modules in /home/pavel/.config/gtk-4.0/settings.ini

(zenity:100986): Adwaita-WARNING **: 19:02:14.932: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 100986
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=100986, si_uid=1000, si_status=0, si_utime=21 /* 0.21 s */, si_stime=12 /* 0.12 s */} ---
getpid()                                = 100983
exit_group(1)                           = ?
+++ exited with 1 +++

As you can see, just before the crash, it tries to open "/opt/gridmonger/Logs" and gets EACCES (Permission denied). And indeed, there is no "Logs" directory in there:

❯ ll /opt/gridmonger/
Permissions Size User Date Modified Name
drwxrwxr-x     - root 17 Aug 18:58  Config
drwxrwxr-x     - root 17 Aug 19:00  Data
drwxrwxr-x     - root 17 Aug 19:00  'Example Maps'
.rwxrwxr-x  3,7M root 17 Aug 18:58  gridmonger
drwxrwxr-x     - root 17 Aug 19:00  Themes

silverhikari commented on 2025-08-17 16:31 (UTC) (edited on 2025-08-17 16:32 (UTC) by silverhikari)

@Jagh122 i thought that would be the issue because it list a higher version in the readme (found out it gets around this via building the entire nim compiler).

after building it and running it i get no issues on start, can you try launching it in a terminal and comment what it outputs?

jagh122 commented on 2025-08-17 10:04 (UTC) (edited on 2025-08-17 10:05 (UTC) by jagh122)

@silverhikari the problem with compiling master branch was because the code in the branch itself was broken when I have written the previous comment, gridmonger's author has since fixed it and it compiles

The problem now is that if I just clone the repo manually and run "nim release -d:osdialogZenity -t:-std=gnu18" it compiles and I get a program that works

Meanwhile this package compiles(and then installs), but gridmonger then just crashes immediately when I try to run it.

There is definitely something wrong with this package.

silverhikari commented on 2025-08-17 07:39 (UTC)

@jagh122 seems the issue with the current commit is that it requires a newer nim version then what is being packaged in arch.

jagh122 commented on 2025-08-14 20:08 (UTC) (edited on 2025-08-14 20:09 (UTC) by jagh122)

Doesn't seem to work as of now, master branch doesn't compile

/home/pavel/.cache/yay/gridmonger-git/src/gridmonger/src/csdwindow.nim(253, 3) template/generic instantiation of `with` from here
/home/pavel/.cache/yay/gridmonger-git/src/gridmonger/src/csdwindow.nim(254, 5) Error: undeclared identifier: 'labelOnly'
candidates (edit distance, scope distance); see '--spellSuggest': 
 (4, 0): 'label'
==> ERROR: A failure occurred in build().
    Aborting...

If I point it to some other commit that compiles, it then crashes immediately when opened after install.

Daerandin commented on 2024-11-27 17:11 (UTC)

The current git version of gridmonger can be built with only one override required. --rangeChecks:off can be safely removed as it is no longer needed. But another override is needed: -t:-std=gnu18

The only current compile issue is caused by it using -std=c99 by default. gnu18 is the current default of gcc and it seems to work well. I have not done extensive testing to ensure there are no issues, but it builds and runs.

So the compile command should be: nim release -d:osdialogZenity -t:-std=gnu18