sigboe / pie-galaxy

A GOG Galaxy like client for RetroPie
24 stars 9 forks source link

Pie Galaxy not working on Rpi4 with RetroPie 4.6 because of "Wyvern not found" Message: #12

Open Ulathar opened 4 years ago

Ulathar commented 4 years ago

Hello,

I try to install Pie Galaxy on my Rpi4 with RetroPie 4.6 using the manual installation guide described here on the project page. The installation script runs fine but as soon as i start RetroPie there is no Pie Galaxy option showing up. So i tried the SSH way using "~/RetroPie/roms/ports/Pie\ Galaxy.sh" shell command which starts the Pie Galaxy script. But Pie Galaxy presents a "Wyvern not found" message and quits.

Doing further research on the project page i noticed that "wyvern" and "innoextractor" are requirements in order for Pie Galaxy to work. Both are missing on my RetroPie allthough the install script indicates that those dependencys should be installed as well (from: demenses.net). I am not sure but it looks like the SSL certificates have expired (at least this was the case yesterday). Might be the reason which the depencencys have been skipped?

Anyway, i tried to fix this manually:

Running the script again still results in "Wyvern not installed". Allthough when I enter "wyvern" in my shell it prints out the wyvern help. So it is definitly there...

What am I missing?

sigboe commented 4 years ago

Well, at least lets not close this issue before the installation works as intended. But at least I can do for you right this moment is provide a workaround.

Wyvern and innoextract are specifically looked for in the same folder as Pie Galaxy is installed. But thats no problem, because Pie Galaxy supports changing settings, and where it looks for both wyvern and innoextract are exposed as settings.

If you make a settings file at ~/.config/piegalaxy/piegalaxy.conf and these settings in it, Pie Galaxy will look for those programs in the path (where bash looks for them when you type the name in ssh).

wyvernbin="wyvern"
innobin="innoextract"

write back and see if there are more issues, because with just the information in your comment I don't know yet why it failed to install. Maybe the way things are executed when installing retropie packages have changed?

Ulathar commented 4 years ago

Added the conf file as described with the contents you provided and rebooted the Pi. Result is still the same: "Wyvern not installed":

Not_installed

piegalaxy conf

conf_contents

wyvern

Interestingly the run-command log-file has this entry: Parameters: Executing: /opt/retropie/ports/piegalaxy/pie-galaxy.sh grep: {/home/pi/.config/piegalaxy/piegalaxy.conf}: No such file or directory

sigboe commented 4 years ago

From SSH run

[[ -f "${HOME}/.config/piegalaxy/piegalaxy.conf" ]]; echo $?

And tell me the result

Ulathar commented 4 years ago

pi@retropie:/dev/shm $ [[ -f "${HOME}/.config/piegalaxy/piegalaxy.conf" ]]; echo $? 0

sigboe commented 4 years ago

Thank you, I have pushed a commit fixing a typo. Get the latest version.

Still tell me how it goes, there may be different things with issues if the install is not compatible with the newest version of pie galaxy

Ulathar commented 4 years ago

Sure i will, thank you.

EDIT: Ok forget about that, i was to stupid, installer is running now. Will report back!!

// Original Post: After updating the Script and reexecuting it I now get this:

= = = = = = = = = = = = = = = = = = = = =
Installing 'piegalaxy' : Pie Galaxy - Downloand and install GOG.com games in RetroPie
= = = = = = = = = = = = = = = = = = = = =

git clone --recursive --depth 1 --branch master "https://github.com/sigboe/pie-galaxy.git" "/opt/retropie/ports/piegalaxy"
Cloning into '/opt/retropie/ports/piegalaxy'...
fatal: Unable to read current working directory: No such file or directory
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
HEAD is now in branch '' at commit ''
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.8M  100 12.8M    0     0  1240k      0  0:00:10  0:00:10 --:--:-- 1282k
innoextract-1.8-dev-2019-01-13-linux/bin/armv6j-hardfloat/innoextract
chmod: cannot access '/opt/retropie/ports/piegalaxy/pie-galaxy.sh': No such file or directory
Error running 'git clone --recursive --depth 1 --branch master https://github.com/sigboe/pie-galaxy.git /opt/retropie/ports/piegalaxy' - returned 128
Errors:
Error running 'git clone --recursive --depth 1 --branch master https://github.com/sigboe/pie-galaxy.git /opt/retropie/ports/piegalaxy' - returned 128
Ulathar commented 4 years ago

Ok installer finished now, what is interesting is that it still failes to curl wyvern from deemenses.net:

curl: (7) Failed to connect to demenses.net port 443: Connection timed out And thus failing to chmod the wyvern directory afterwards (kind of expected).

Trying the new version with the conf from you still results in "wyvern not installed". I will try to copy wyvern over to the Galaxy.sh script location now and see what happens.

Edit: ok that did the trick: sudo cp /home/pi/.cargo/bin/wyvern /opt/retropie/ports/piegalaxy/wyvern followed by sudo chown pi:pi wyvern

The script is now starting and asking for my login-credentials. Will report back if everythign is fine now ;-).

Than i would only have to figure out how to make Pie Galaxy show up in emulation station... Do I have to edit the es_systems.cfg by hand? If so: what are the right properties?

Ulathar commented 4 years ago

Connecting & browsing my library works (allthough the library is not sorted in alphabetical order making it hard to find things ;-) ).

But it seems like i can't download or install anything (errors). Here is the runcommand.log:

Parameters:
Executing: /opt/retropie/ports/piegalaxy/pie-galaxy.sh
find: ‘/home/pi/Downloads’: No such file or directory
find: ‘/home/pi/Downloads’: No such file or directory
du: invalid zero-length file name
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 146: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 149: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 155: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 158: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 161: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 164: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 170: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 146: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 149: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 155: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 158: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 161: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 164: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 170: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 196: /home/pi/.cache/piegalaxy/1207666253.: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 146: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 149: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 155: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 158: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 161: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 164: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 170: /home/pi/.cache/piegalaxy/1207666253.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 146: /home/pi/.cache/piegalaxy/1425039730.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 149: /home/pi/.cache/piegalaxy/1425039730.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 155: /home/pi/.cache/piegalaxy/1425039730.json: No such file or directory
/opt/retropie/ports/piegalaxy/pie-galaxy.sh: line 158: /home/pi/.cache/piegalaxy/1425039730.json: No such file or directory

Tried with Monkey Island 1 and 2 as well as their special editions.

Ulathar commented 4 years ago

Second thing:

It seems like my PWD must be in: /opt/retropie/ports/piegalaxy when i execute ~/RetroPie/roms/ports/Pie\ Galaxy.sh otherwise i will always get the "Wyvern not installed" dialog again everytime i execute it (even when i am in /opt/retropie/ports or something similar).

When i run that command from said working dir it works (connecting & browsing but not downloading). Thats kind of strange isn't it? (i am no linux pro so i have no clue what the reason might be).

I guess it might have something to do with how "scriptdir" is initialized in combination with the "wyvernbin="wyvern"" property in the config: scriptdir="$(dirname "$(readlink -f "${0}")")"

Edit: yep, as soon as i remove that config file (i don't need it any more after copying wyvern alongside that script file) it no longer matters from which working dir i execute Galaxy.sh.

Not really important, but just to let you know ;-).

sigboe commented 4 years ago

Let's try to break these things down :rofl: I've never seen these errors, and don't know why you get them.

After updating the Script and reexecuting it I now get this:

This here says that git clone cant clone into a directory thats not empty. Which is true, so try deleting the directory, or rather uninstall it from the from the retro pie package menu, and then reinstall it. This will make it show up in the Retro Pie menu as well

And also maybe then delete the settings file you created, so it doesn't override the defaults.

Ok installer finished now, what is interesting is that it still failes to curl wyvern from deemenses.net:

Seams as the original author doesn't support the download any more. I need to update the installer and host it my self. Dont know if I will be able to do that today. But copy it to the pie-galaxy directory should work.

Connecting & browsing my library works (allthough the library is not sorted in alphabetical order making it hard to find things ;-) ).

Feature request :laughing: open a separate issue for that and I will get to later

But it seems like i can't download or install anything (errors).

Let me think about this one.

Tried with Monkey Island 1 and 2 as well as their special editions.

I don't support the special editions, I have looked at how to do it and it was not straight forward.

It seems like my PWD must be in /opt/retropie/ports/piegalaxy

I cannot for the life of me believe this is true. Maybe if you delete the config file it will be back to normal.

i am no linux pro so i have no clue what the reason might be

Continue doing things like this, and you will only be a quick book away from being able to pass LPIC1 or Linux+ exams

scriptdir="$(dirname "$(readlink -f "${0}")")"

"${0}" should be the full path of the script including the script name readlink -f "${0}" should just resolve any potential symlinks which is not relevant here dirname "${0}" should just give the parent dir of the script

hmm, I dont see why these are making an issue

Not really important, but just to let you know ;-).

Of course it is important. I just dont have a Pi with retropie right now. As I am too busy using the MiSTer FPGA instead, and also being a family man. But I'll help you looking at this, and if we still have issues, then I'll dig up an old Pi.

Ulathar commented 4 years ago

Your help is much appreciated, thank you for your effots!

If there is anything i can help / test concerning that download problem just let me know (especially when you don't have a Pi ready yourself right now ;-). In case it helps: not only does the download not work / throw the said errors, also the "meta data" like the game description, etc. is not shown. So it looks like it can access and read my library (names of my games) but nothing more.

And one additional info to the "reinstallation" / "Pie Galaxy not showing up in Emustation": Just checked the Package Manager in RetroPie and can't find Pie Galaxy (so i can not uninstall or reinstall it from RetroPie). It is not listed anywhere. I checked: core, main, optional and experimental packages.