Open Montandalar opened 1 year ago
@Montandalar good catch!
i believe this is actually a rust/system issue, rather than an npm issue. please try making sure you have followed the prerequisites here: https://tauri.app/v1/guides/getting-started/prerequisites/ and provide the output of:
rustc --version
node --version
i believe i also ran in to a similar problem on my wsl system running ubuntu 20.04, you may also want to try installing some of these packages (i can't remember explicitly if i needed them to build the project or if it was due to some X11 stuff, so beware):
sudo apt install xfce4 xfce4-goodies
sudo apt install libglib2.0-dev
sudo aptitude install libglib2.0-dev
sudo aptitude install libgtk-3-dev
sudo aptitude install libsoup2.4-dev
sudo aptitude install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
sorry, i know this is probably the least helpful comment i could write but my experience w/ linux on this project was short and sweet, hopefully some of this helps!
ps. for linux to work, you may need to hardcode the ternaries here:
https://github.com/minetest-world/mtlauncher/blob/main/src/lib/shell.js#L22
to have AppImage
as the extension, rather than ''
unfortunately i was only able to properly test this on windows, so a lot of the support for actually opening MT is based on how the windows builds are. i suspect that some extra changes will need to be made for linux & mac systems, but you'll hopefully be able to advise on this a bit better than me
double unfortunately, the whole installation process won't work either, since basically only official windows builds exist on the MT github. there are AppImages on the gitlab, but i never got around to adding them as a source to download from.
according to tauri documentation, you should find the mtlauncher config at:
$XDG_CONFIG_HOME/world.minetest.mtlauncher
OR
$HOME/.config/world.minetest.mtlauncher
so you can install versions in the versions
folder there, so long as the folder name coincides with a valid MT version (eg: 5.6.1
) check the project README for some of the requirements for how it's all laid out
also, depending on how much patience you have to try and get this working on your machine, feel free to reach out to me on matrix - i will be semi-afk this weekend but am keen to get some changes in and have a "guinea pig" for linux so that i can figure out how the requirements for it all differs from windows and implement some changes
@Montandalar i've added in a suuuper basic auto build system w/ github workers, if you're still struggling to build from source you can try one of the files here?
https://github.com/minetest-world/mtlauncher/releases
afaik the .AppImage
file is a portable release, and the .deb
file is an installer, feel free to pick your poison for that
the workflow for linux does indeed need some extra deps as confirmed by the tauri example which i shamelessly yoinked from, so i suspect you will need to download some deps, check here: https://github.com/minetest-world/mtlauncher/blob/main/.github/workflows/build.yml#L61
I installed all of the prerequisites, but no change to the error. Perhaps my rust version (that is installed through apt rather than rustup
) is too old? I have no idea how to figure out what rust version is needed for a crate version though.
Otherwise the .deb
provided through GitHub releases worked, and even opens the file browser correctly to show you where your installation is. However, it also tried to get 5.4.2-android on a desktop device, which makes no sense and it hung at "Installing... please be patient" probably because there are only android builds for that version.
Meanwhile inside ~/.config/world.minetest.mtlauncher/versions/5.6.1/bin:
$ ls
IrrlichtMt.dll libfreetype-6.dll libiconv-2.dll libjpeg-62.dll libogg-0.dll libsqlite3-0.dll libvorbis-0.dll libwinpthread-1.dll minetest.exe zlib1.dll
libcurl-4.dll libgcc_s_seh-1.dll libintl-8.dll libleveldb.dll libpng16.dll libstdc++-6.dll libvorbisfile-3.dll libzstd.dll OpenAL32.dll
Yeah that's the Windows version.
Also it's not possible from my installation to apply the change from ''
to AppImage
since it's all one big binary, and I think that the JavaScript is compressed, so not even with a hex editor. You'll need to refactor it in the source yourself anyway I think to depend properly on the installed operating system and packaging format (Windows -> exe, macOS -> app, Linux -> no extension).
Here are the program versions as asked. Clearly rust is not the latest version.
$ npm --version
8.19.2
$ node --version
v18.7.0
$ rustc --version
rustc 1.60.0
@Montandalar so..
re: 5.4.2-android - yeah, this is because that is technically the "best" build for a specific protocol version, haha. this will be removed come next update
re: "yeah that's the windows version" - correct, see here: https://github.com/minetest-world/mtlauncher/wiki/version-management
re: modifying binary - this shouldn't be needed, as long as you're running v0.0.2, i did add some changes to it: https://github.com/minetest-world/mtlauncher/blob/main/src/lib/shell.js#L6
so, for linux, it should look for ~/.config/world.minetest.mtlauncher/versions/5.6.1/minetest.AppImage
tl;dr - for linux, manual installation of versions is necessary for now. this will be changed in the near-ish future, hopefully, but even the gitlab builds don't have public AppImage files for the 5.6.x branch :'(
if you want to try, you should:
~/.config/world.minetest.mtlauncher/versions/{version}/minetest.AppImage
it should then detect that it's installed, and run it if needed.
if you want to run that version on a server that doesn't state it supports your version, you can select the server, and then change the version in the bottom left dropdown.
let me know if there's any confusion - thank you again for guinea-pigging for me! :D
i'll need to investigate the rust issue separately, my thoughts are that you might be running an old rust version (but i'm only on 1.63.0
...) or that perhaps your OS repo has an out of date version of one of the dependencies. the auto-build system seems to work out of the box, so i suspect it could be an OS repo/rust version issue... not too sure though
fyi: i've just released v0.0.3
which should resolve some further issues with cross-OS compatibility.
it should also now download from a (seemingly legit) source, An0n3m0us's AppImages repository if you're on linux!
hopefully this resolves any outstanding issues wrt running & playing on linux https://github.com/minetest-world/mtlauncher/releases/tag/v0.0.3
Now of course I'm a node/npm noob so it could be something obvious, but why would it be the case that I don't have access to the latest version? I thought node fetched the version info automatically. Also what's the deal with that package not being exactly listed on
npm search
?