Martin Howe Posted August 15, 2022 Before formally making a bug report, I'd just like to see if this a platform issue or even a "don't do that". My system is Linux Mint 21.0 and I cloned the repo and built EE from source. Created a package with cpack just to see where it likes to be installed, and it's happy with /usr/local for the system and ~/.config/eternity for user data. Like this, it works fine. However, my gaming files are highly organised and normally an engine's ~/.config/whatever is a symlink to somewhere else where my game management scripts keep everything organised. If I do this, so ~/.config/eternity is a symlink to another directory in my user space, it can't read anything of mine and sets the user dir to the install dir. Copy of the log file below. I'm not (yet) familiar with the source code enough to know where to start looking, but it looks as if EE is trying to physically create the directory ~/.config/eternity even if it exists and fails if it can't, because there's a regular file of the same name there; now on Linux, that file could be (and in my case is) a symbolic link and EE is supposed to follow the link to the target directory. Clearly it isn't doing this, so can anything be done? Log file if ~/.config/eternity is a directory (this works): The Eternity Engine Copyright 2022 James Haley, Stephen McGranahan, et al. http://www.doomworld.com/eternity This program is free software distributed under the terms of the GNU General Public License. See the file "COPYING" for full details. Commercial sale or distribution of this product without its license, source code, and copyright notices is an infringement of US and international copyright laws. Z_Init: Init zone memory allocation daemon. Base path set to install directory. User path set to home directory. M_LoadSysConfig: Loading system.cfg Warning: Cannot read /home/martin/.config/eternity/user/system.cfg -- using built-in defaults D_DoIWADMenu: Init IWAD choice subsystem. IWAD found: /usr/share/doom/doom.wad Ultimate DOOM version Built on Aug 14 2022 at 21:44:51 M_LoadDefaults: Load system defaults. Warning: Cannot read /home/martin/.config/eternity/user/doom/eternity.cfg -- using built-in defaults W_Init: Init WADfiles. adding /usr/local/share/eternity/base/doom/eternity.pke adding /usr/share/doom/doom.wad E_ProcessEDF: Loading root file /usr/local/share/eternity/base/root.edf V_InitMisc: Init miscellaneous video patches. C_Init: Init console. I_Init: Setting up machine state. I_InitSound: Configured audio device with 2048 samples/slice. I_InitMusic: Using SDL_mixer. D_SetGraphicsMode: Set graphics mode (using video driver 'SDL GL2D') Log file if ~/.config/eternity is a symlink to a directory (this doesn't): The Eternity Engine Copyright 2022 James Haley, Stephen McGranahan, et al. http://www.doomworld.com/eternity This program is free software distributed under the terms of the GNU General Public License. See the file "COPYING" for full details. Commercial sale or distribution of this product without its license, source code, and copyright notices is an infringement of US and international copyright laws. Z_Init: Init zone memory allocation daemon. Base path set to install directory. User path set to base directory (warning: writes may fail!). M_LoadSysConfig: Loading system.cfg Warning: Cannot read /usr/local/share/eternity/base/system.cfg -- using built-in defaults D_DoIWADMenu: Init IWAD choice subsystem. IWAD found: /usr/share/doom/doom.wad Ultimate DOOM version Built on Aug 14 2022 at 21:44:51 M_LoadDefaults: Load system defaults. Warning: Cannot read /usr/local/share/eternity/base/doom/eternity.cfg -- using built-in defaults W_Init: Init WADfiles. adding /usr/local/share/eternity/base/doom/eternity.pke adding /usr/share/doom/doom.wad E_ProcessEDF: Loading root file /usr/local/share/eternity/base/root.edf V_InitMisc: Init miscellaneous video patches. C_Init: Init console. I_Init: Setting up machine state. I_InitSound: Configured audio device with 2048 samples/slice. I_InitMusic: Using SDL_mixer. D_SetGraphicsMode: Set graphics mode (using video driver 'SDL GL2D') Warning: could not write defaults to /usr/local/share/eternity/base/tmpetern.cfg: Permission denied /usr/local/share/eternity/base/doom/eternity.cfg left unchanged Warning: could not write defaults to /usr/local/share/eternity/base/tmpetern.cfg: Permission denied /usr/local/share/eternity/base/system.cfg left unchanged 0 Share this post Link to post
forgettable pyromaniac Posted August 15, 2022 Well, from a glance, it just sees like permissions got messed up somewhere along the way. Assuming you've tried giving the files read/write access and tried running the program as root? (Unrelated, could I try the version you built? I used EE a total of once and since my linux switch, I've been itching to play heartland) 0 Share this post Link to post
Martin Howe Posted August 16, 2022 Sure, it's worth a go. I actually did this specifically to play Heartland myself; since ZDoom does nearly everything I need, I'd forgotten about Eternity; please note this is compiled for Mint; it should work OK on stock Ubuntu I guess, maybe even Debian, but who knows? Unpack as root, or by su, to /usr/local 1 Share this post Link to post
Martin Howe Posted August 17, 2022 (edited) I need to do more tests, but I think the common factor is that all the subdirectories of user need to be present, not just the one for the games in use, in order for the engine to recognise it as a valid config directory; so I let the engine create it's own config directory, archived it, then deleted the original and replaced it with the archived one; this works. It also works as a symlink, so I guess the system is following the links under the hood. 0 Share this post Link to post
Martin Howe Posted September 6, 2022 OK, well it all seems to work now, so - case closed :) 0 Share this post Link to post