OpenXcom Forum
OpenXcom Forks => OXCE Bugs => OpenXcom Extended (OXCE) => OXCE Bugs FIXED => Topic started by: beng on February 16, 2024, 04:01:33 pm
-
Hi, I am using Linux Mint 21.3
I tried to install OXCE as per the instructions on the download and instllation guide, ie:
mkdir oxce && cd oxce
wget https://github.com/pedroterzero/oxce-docker/releases/download/v7.11/OpenXCOM_Extended-v7.11-x86_64.AppImage
chmod a+x OpenXCOM_Extended-v7.11-x86_64.AppImage
./OpenXCOM_Extended-v7.11-x86_64.AppImage
Running the appimage results in an error message saying ERROR: No X-COM Installations Found
The openxcom.log generated is:
[16-02-2024_21-57-42] [INFO] OpenXcom Version: Extended 7.11 (v2024-01-09)
[16-02-2024_21-57-42] [INFO] Platform: Linux
[16-02-2024_21-57-42] [INFO] Data folder is: /tmp/.mount_OpenXCFei8mK/
[16-02-2024_21-57-42] [INFO] Data search is:
[16-02-2024_21-57-42] [INFO] - /tmp/.mount_OpenXCFei8mK/
[16-02-2024_21-57-42] [INFO] - /home/beng/.local/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /usr/share/xfce4/openxcom/
[16-02-2024_21-57-42] [INFO] - /home/beng/.local/share/flatpak/exports/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /var/lib/flatpak/exports/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /usr/local/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /usr/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /usr/local/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /usr/share/openxcom/
[16-02-2024_21-57-42] [INFO] - /tmp/.mount_OpenXCFei8mK/usr/bin/
[16-02-2024_21-57-42] [INFO] - ./
[16-02-2024_21-57-42] [INFO] User folder is: /home/beng/oxce/
[16-02-2024_21-57-42] [INFO] Config folder is: /home/beng/oxce/
[16-02-2024_21-57-42] [INFO] Options loaded successfully.
[16-02-2024_21-57-42] [INFO] SDL initialized successfully.
[16-02-2024_21-57-42] [INFO] SDL_mixer initialized successfully.
[16-02-2024_21-57-42] [INFO] Attempted locale: C.utf8
[16-02-2024_21-57-42] [INFO] Detected locale: C.utf8
[16-02-2024_21-57-42] [INFO] Attempting to set display to 640x400x8...
[16-02-2024_21-57-42] [INFO] Display set to 640x400x8.
[16-02-2024_21-57-42] [INFO] Loading data...
[16-02-2024_21-57-42] [INFO] Scanning standard mods in '/tmp/.mount_OpenXCFei8mK/'...
[16-02-2024_21-57-43] [INFO] Scanning user mods in '/home/beng/oxce/'...
[16-02-2024_21-57-43] [INFO] FileMap::mapExtResources(xcom2, TFTD): external resources not found.
[16-02-2024_21-57-43] [INFO] FileMap::mapExtResources(xcom1, UFO): external resources not found.
[16-02-2024_21-57-43] [ERROR] no mod masters available
[16-02-2024_21-57-43] [ERROR] No X-COM installations found
My data and config files are located in: /home/beng/.local/share/openxcom/
They work fine with OpenXcom 1.0.8
The output of ls of that directory is:
beng@beng-Mint:~$ ls /home/beng/.local/share/openxcom/
mods openxcom.log options.cfg TFTD UFO xcom1 xcom2
Why can OXCE not see the data and config files there?
-
And what content have `/tmp/.mount_OpenXCFei8mK/`?
-
...
...
[16-02-2024_21-57-43] [INFO] Scanning user mods in '/home/beng/oxce/'...
...
...
This tells me that OXCE looks in a different place "~/oxce/" instead of "~/.local/share/openxcom".
As to why i have no idea.
One possible solution is to copy the content of "~/.local/share/openxcom" to "~/oxce/".
Or move the appimage to ¨~/.local/share/openxcom".
I tried both methods on xubuntu, both worked. Before that i got the same error as you did.
-
And what content have `/tmp/.mount_OpenXCFei8mK/`?
It is a temporary directory to mount the appimage. It has the directory structure for the data files but the UFO and TFTD folders have no data files inside.
The tmp directory is deleted when the programme ends.
-
This tells me that OXCE looks in a different place "~/oxce/" instead of "~/.local/share/openxcom".
As to why i have no idea.
One possible solution is to copy the content of "~/.local/share/openxcom" to "~/oxce/".
Or move the appimage to ¨~/.local/share/openxcom".
I tried both methods on xubuntu, both worked. Before that i got the same error as you did.
Thanks, moving the appimage to ~/.local/share/openxcom worked. I don't consider this issue solved as it should work when the installation guide instructions are followed and it does not, but your workaround works!
-
It is a temporary directory to mount the appimage. It has the directory structure for the data files but the UFO and TFTD folders have no data files inside.
The tmp directory is deleted when the programme ends.
And this is problem, game based on this two folders decide if it correct folder, as logs show it was decide that was folder that should have this data.
As folders are empty this cause game to fail.
-
Since I vaguely remembered this error did not manifest on OXC appimage I decided to do some comparison tests.
Using the following setup:
* A fully operational folder structure on the game default path (``~/.local/share/openxcom`` for linux)
* A test folder for the binaries (``~/oxce``)
With the following binaries
1) OXCE AppImage: ``OpenXCOM_Extended-v7.11-x86_64.AppImage``
Using OP's download (wget) link.
2) OXCE Binary: ``OpenXcomEx, v7.11-8e9fdfc...``
From https://openxcom.org/forum/index.php/topic,5258.0.html
3) OXC AppImage: ``OpenXcom_20210611_8d45159bf_x86-64.AppImage``
Using download link from website (https://openxcom.org/git-builds/)
4) OXC Binary
Compiled from commit "f2e509c4" since I could not find a binary only download.
And the following test scenarios:
A) test folder contains **only** the binary.
B) test folder contains binary and **empty** folders ``UFO`` & ``TFTD``.
The results are summarized in the table below.
Binary | Scenario A | Scenario B |
1 | fails (I) | fails (I) |
2 | works | fails (II) |
3 | works | works |
4 | works | works |
(I) Message: No installations found
(II) No message, but got presented with a black screen (no crash).
From this i would conclude that OXC and OXCE differ in behavior in that:
OXC seems to test if the required folders (UFO & TFTD) have some content and if not keeps searching.
OXCE seems to test only for existence of those folders, where the first one wins.
-> Kinda weird since ``OpenXcom::Options::_gameIsInstalled()`` suggests OXCE does actually test.
Hope this helps.
P.s.
The installation instructions for the appImage as seen when following the docker link from forum topic mentioned before are still technically correct.
It states that one has to create (and fill with correct data) the UFO and TFTD folders in the **same** directory as the AppImage.
It does not mention that the AppImage does not work with the default data folder (~/.local/share/openxcom). Even though one might assume it does.
P.p.s.
Logs for the 8 tests performed are available as attachment.
-
Thanks for the analysis R1dO.
Update from our side:
- Yankes, I and SupSuper have discussed this and we agree that OXCE should restore OXC behavior (if possible)
- any current difference is either a bug or a result of a PR
- Yankes and I have not made any intentional changes here
It may take some time, since I don't have any Linux environment atm, but we'll definitely keep this on our todolist.
-
No problem, thank you for recognizing it as (possible) unwanted behavior.
If you need any more information, help testing, or other ways I can contribute:
Feel free (for the triple of you) to contact me on any known communication channel that best fits your preference.
-
http://108.61.157.159/versions/win/ I added test version of OXCE (for now for windows) where I alter how data folders are handled.
at least I expect that problems show here do not happens in new test version.
-
If that test version was based on the 'test' branch commit `f2edbd196b` I can confirm that a Linux compiled version works for both scenarios now (e.g table row 2 becomes 'works' 'works').