GeoDaCenter / geoda

GeoDa: An introduction to spatial data analysis
http://geodacenter.github.io
GNU General Public License v3.0
719 stars 156 forks source link

Howto: install on Linux distribution other than Ubuntu (Distrobox) #2482

Open kirmaha opened 7 months ago

kirmaha commented 7 months ago

Hello, I had to install GeoDa for a course at the University. I use Debian Testing (Trixie) and I could not install the .deb package as some dependencies are not met. I tried to install those dependencies manually but it was not possible.

But I could seemlessly install GeoDa through Distrobox, and it behaves like it was genuinaly installed directly on Debian. I think it might help many users, as this brings GeoDa support for all distributions supporting Distrobox (full list here). Maybe it would even be useful to share this in installation instructions on GeoDa website, so people know that they can install it even if they don't use Ubuntu ?

This suppose that you downloaded and decompressed the GeoDa .zip file for Ubuntu 22.04 LTS: that .deb package file should be accessible somewhere down your user home folder (i.e.: in your Downloads folder).

First thing, you need to install Distrobox. It may vary depending on your distribution. Here is the command for Debian :

sudo apt update
sudo apt install distrobox

Then you install Ubuntu in Distrobox, GeoDa on Ubuntu, and finally you export the GeoDa app to your host distribution :

# Create an Ubuntu 22.04 LTS container (arbitrary container name that you can modify: Ubuntu_geoda)
distrobox create --image ubuntu:22.04 --name Ubuntu_geoda
distrobox enter Ubuntu_geoda
sudo apt update && sudo apt upgrade -y

# Install GeoDa from the .deb package. Replace "[path to deb file]" with the full path to your .deb file.
# If your file is located in the Downloads folder, it should look like this : ~/Downloads/geoda_1.22.0-1jammy1_amd64.deb
# Path relative to your host distribution (it is not relative to the container).
sudo dpkg -i [path to deb file]

# Previous command ended with an error: this is ok, just install missing dependencies
sudo apt install -f
sudo apt upgrade -y
sudo apt install libglu1-mesa libsm6 -y

# Test if you can launch GeoDa from the container. This command should start GeoDa:
/usr/local/geoda/GeoDa

# If there is still missing package, install them.

# Add GeoDa to your hosting distribution applications list, so you can start it without entering manually the Distrobox container
distrobox-export --app geoda --export-label "(Ubuntu)"
exit

A few seconds later, you should be able to run GeoDa from your distribution, as it was directly installed on it.

If you need to uninstall it:

# Remove geoda from app lists and erase the Distrobox container (this won't uninstall Distrobox itself)
distrobox enter Ubuntu_geoda
distrobox-export --app geoda --delete
exit
distrobox stop Ubuntu_geoda
distrobox rm Ubuntu_geoda
distrobox list     # This is meant to check that Ubuntu_geoda does not appear in containers list anymore
tcubano commented 4 months ago

Thank you very very much for this guide! I was just searching for how to install on Ubuntu 24.04 for a class I'm having and thought about using distrobox, which is a tool I'm not used to and would have to learn before applying. You just saved me a few hours! I actually got it running through Wine (with Lutris) but I wanted to try installing natively because I was afraid it wouldn't work as well - I still need to fix all my data before applying so I couldn't test if the windows version works on wine..