Botspot / pi-apps

Raspberry Pi App Store for Open Source Projects
GNU General Public License v3.0
1.93k stars 207 forks source link

PSP emulator not installing #627

Closed The-Sapphire-Starship closed 3 years ago

The-Sapphire-Starship commented 3 years ago

2021-05-02-173704_1920x1080_scrot PPSSPP(PSP Emulator) is not installing, ive tried several times including pressing the uninstall button(which also fails) then pressing the install button again

NoozAbooz commented 3 years ago

2021-05-02-173704_1920x1080_scrot PPSSPP(PSP Emulator) is not installing, ive tried several times including pressing the uninstall button(which also fails) then pressing the install button again

Try sudo apt install apt-transport-https and reinstall the app.

CleanMachine1 commented 3 years ago

run sudo apt update before that command @mobilegmYT has given and see if it gives any error messages of things being broken such as missing packages

Botspot commented 3 years ago

PPSSPP(PSP Emulator) is not installing, ive tried several times including pressing the uninstall button(which also fails) then pressing the install button again

First of all, thank you so much for opening an issue!

This error was triggered by the Pi-Apps pkg-install script. It creates a dummy APT package that says it "requires" the app's required dependencies, then Pi-Apps installs the dummy package to pull in the dependency packages. In this case, it appears the dummy package did not even try to install apt-transport-https, which perplexes me.

@The-Sapphire-Starship, I've been able to replicate the error you've experienced.

Botspot commented 3 years ago

This is very strange.

@Itai-Nelken Any ideas? The dummy deb indeed says it depends on apt-transport-https.

Contents of /home/pi/pi-apps-55666efd/DEBIAN/control

Maintainer: Pi-Apps team
Name: PPSSPP (PSP emulator)
Description: Dummy package created by pi-apps to install dependencies for the 'PPSSPP (PSP emulator)' app
Version: 1.0
Architecture: all
Priority: optional
Section: custom
Depends: build-essential, cmake, libgl1-mesa-dev, libsdl2-dev, libvulkan-dev, wget, unzip, apt-transport-https
Package: pi-apps-55666efd

And just in case the package was built improperly, I checked it with synaptic to see if apt-transport-https was a dependency. It is. 2021-05-03-131418_1920x1080_scrot But apt-transport-https is still not installed!

Botspot commented 3 years ago

Also I checked the apt-transport-https package to see if Pi-Apps's dummy deb requires it. It does. 2021-05-03-131813_1920x1080_scrot And it looks like apt requires this package as well. So why isn't apt-transport-https installed?

CleanMachine1 commented 3 years ago

Is it not easier to ignore the pkg-install thing and just use sudo apt install, and add it to the removal script as well

Seem the easiest

Itai-Nelken commented 3 years ago

this is really weird!

@The-Sapphire-Starship can you run apt list --installed | grep apt-transport-https? according to your screenshot it seems you are on twisterOS, and its installed by default on twisterOS (and any debian based OS as its a apt dependency).

Botspot commented 3 years ago

@The-Sapphire-Starship can you run apt list --installed | grep apt-transport-https?

I can, as I've been able to replicate the error.

pi@raspberrypi:~ $ apt list --installed | grep apt-transport-https

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

pi@raspberrypi:~ $ 
Botspot commented 3 years ago

Is it not easier to ignore the pkg-install thing and just use sudo apt install, and add it to the removal script as well

Seem the easiest

That would work, but what if two apps need the package? Install app A and app B. Then uninstall app B, which uninstalls the common required package. Now app A suddenly stops working.
It gets worse: what if I, as a linux user, was using apt-transport-https already? What if another application I had manually installed, needed it? Wouldn't it be annoying for apt-transport-https to disappear when uninstalling an app?

Pkg-install prevents all of these scenarios. When uninstalling an app, it uninstalls only those packages that are unused and unneeded.

CleanMachine1 commented 3 years ago

Considering how small the package is, it would be easier to just leave it, and for anyone that reads the description, they can find a notice about it leaving the package

Botspot commented 3 years ago

Considering how small the package is, it would be easier to just leave it, and for anyone that reads the description, they can find a notice about it leaving the package

I think it would be a very bad idea if all apps installed packages but made no attempt to remove them when uninstalling.

CleanMachine1 commented 3 years ago

One small one isnt that bad

Botspot commented 3 years ago

One small one isnt that bad

Are you implying that Pi-Apps developers should choose, for users, which packages are a big enough deal to be uninstalled when the app is uninstalled?

CleanMachine1 commented 3 years ago

anything over 200kb, also please don't twist my words since you choose to take analytic data by default. (Don't take that the wrong way)

If you leave a note on the description, most will read it and see.

Also no newb cares about that small of a dependencies being left, considering that some may come from Windows

The-Sapphire-Starship commented 3 years ago

I did not expect to come back to 14 comments on this thing XD (ill do my best to help you guys, just to let you know i no longer need it though, i figured out why retro pie was not showing the psp rom folder, which is why i was trying to down load it) @Itai-Nelken I'm using the raspberry pi os(im not using twister) I get the same thing as @Botspot when running apt list --installed | grep apt-transport-https However running sudo apt install apt-transport-https then trying to imstall it through pie-apps again did work nd it installed successfully If there is anything else i can do to help you guys figure out what is going on just let me know :)

Itai-Nelken commented 3 years ago

weird! so running sudo apt install apt-transport-https works but having it in the dummy deb doesn't!

Itai-Nelken commented 3 years ago

I think pi-apps should remove anything it creates other than user data, even if its 200kb and most users pi-apps is targeting won't care.

Botspot commented 3 years ago

I've asked about this on the Raspberry Pi forums. https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=311075

CleanMachine1 commented 3 years ago

Is there not a command we can run to check whether an install is depended on by other programs

something like apt-rdepends * | grep apt-transport-https, then see if anything uses it

Botspot commented 3 years ago

Is there not a command we can run to check whether an install is depended on by other programs

something like apt-rdepends * | grep apt-transport-https, then see if anything uses it

...Or we could just purge a dummy deb and do sudo apt autoremove. Switching to your proposed method wouldn't solve this problem we're having.

CleanMachine1 commented 3 years ago

To be honest, I am not even sure I fully understand the issue!

Botspot commented 3 years ago

To be honest, I am not even sure I fully understand the issue!

That's totally fine. Not understanding is a prerequisite to knowledge. If you haven't already, I suggest reading my RPi Forum post about this problem we've encountered. It tries to summarize the findings as clearly as possible.

Botspot commented 3 years ago

Fixed! (should be)

After an official RPi Engineer said the package wasn't necessary anymore, I've chosen to remove it as a dependency of PPSSPP. Hopefully this change will fix the issue, and won't cause any further issues.