Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build Debian pkg in addition to Ubuntu #2464

Open
faridcher opened this issue Oct 20, 2023 · 14 comments
Open

build Debian pkg in addition to Ubuntu #2464

faridcher opened this issue Oct 20, 2023 · 14 comments

Comments

@faridcher
Copy link

Ubuntu is Debian derivative but their repositories and package naming differ. Trying to install Ubuntu package on Debian unstable gives:

~/GeoDa-1.22.0-jammy $ sudo apt install -f ./geoda_1.22.0-1jammy1_amd64.deb
[sudo] password for farid:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'geoda' instead of './geoda_1.22.0-1jammy1_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 geoda : Depends: libgdal30 but it is not installable
          Depends: freeglut3 but it is not installable
           Depends: libwebkit2gtk-4.0-37 but it is not going to be installed
   E: Unable to correct problems, you have held broken packages.

please provide pure Debian packages.
thanks

@lixun910
Copy link
Member

Thanks for reporting this issue! Did you try: sudo dpkg -i /path/to/geoda_deb_file, then sudo apt install -f ? which might automatically install the listed dependencies of GeoDa.

Btw, can you help to provide a list of the correct names of the dependent libraries? Thank you!

@faridcher
Copy link
Author

Yes, I tried your approach and failed for the same reason.

libgdal33
libglut3.12
libwebkit2gtk-4.0-37 and libwebkit2gtk-4.1-0

@lixun910
Copy link
Member

Thanks! I will update the dependencies.

@lixun910
Copy link
Member

lixun910 commented Oct 20, 2023

@faridcher I've tried to install the original GeoDa package on a clean Ubuntu 22.04 Jammy. The original dependencies in the control file work fine:

Depends: libgdal30, zlib1g, libexpat1, freeglut3, libreadline8, libgtk-3-0, libssl3, libwebkit2gtk-4.0-37

Is it possible that some of the above dependent libraries have been upgraded by other packages on your Ubuntu Jammy?
I've created a testing pull request with the versions you mentioned, and you can find and try the new installer on the action page once it's completed: https://github.com/GeoDaCenter/geoda/actions/runs/6590707617

@lixun910
Copy link
Member

@faridcher The new installer is ready https://github.com/GeoDaCenter/geoda/actions/runs/6590707617. Can you help to verify if the changes in this PR work? Thanks!

@faridcher
Copy link
Author

faridcher commented Oct 20, 2023

@lixun910 Debian and Ubuntu are distinct linux distros. Debian has it own releases i.e. trixie, bookworm, etc. which are different from Ubuntu Jammy, Focal, etc. I don't have Ubuntu installed: I use Debian sid/unstable. The new packages still complain about missing freeglut3.

~/GeoDa-1.22.0-jammy$ sudo apt install -f ./geoda_1.22.0-1jammy1_amd64.deb
[sudo] password for farid: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'geoda' instead of './geoda_1.22.0-1jammy1_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 geoda : Depends: freeglut3 but it is not installable
E: Unable to correct problems, you have held broken packages.

I think you should change freeglut3 to libglut3.12

@lixun910
Copy link
Member

I see. Thanks for your explanation! I just change freeglut3 to libglut3.12 in #2465 Please help to try the new installer once the ci is completed. Thanks! https://github.com/GeoDaCenter/geoda/actions/runs/6592554354

@lixun910
Copy link
Member

@faridcher I think maybe it's worth creating a deb package for Debian. Do you have any naming suggestions? Thanks!

@faridcher
Copy link
Author

faridcher commented Oct 20, 2023

You may opt to use the same name as your software name. Debian has 3 main releases: stable, testing and unstable. Debian uploaders/maintainers build their packages for each release with its own libraries versions. E.g. Debian stable (currently aka buster) uses libgdal v2.4 but testing has v3.2.2 and so on. link .

So I suggest not to change the package name; use plain geoda1.22.deb but build it with different releases' libraries (and headers).

thank you for you efforts

@faridcher
Copy link
Author

The new pkg installs well but as I suspected it does not run. Because you have built in with Ubuntu and it's specific libraries. It should be built with a Debian distro.

@lixun910
Copy link
Member

@faridcher It seems the Github action runners only have Ubuntu distro https://github.com/actions/runner-images. Do you know any specific Debian docker images that are used to build open-source packages? I can try to use the Debian docker to build GeoDa if possible.

@faridcher
Copy link
Author

Unfortunately, I have no idea.

@ppopoca
Copy link

ppopoca commented Dec 6, 2023

Yes, I tried your approach and failed for the same reason.

libgdal33 libglut3.12 libwebkit2gtk-4.0-37 and libwebkit2gtk-4.1-0

Hi, I'm also looking for a way to install GeoDa in Debian. I'm using debian 12 (bookworm) and stable packages are libgdal32 and freeglut3-dev

@ppopoca
Copy link

ppopoca commented Dec 6, 2023

@faridcher It seems the Github action runners only have Ubuntu distro https://github.com/actions/runner-images. Do you know any specific Debian docker images that are used to build open-source packages? I can try to use the Debian docker to build GeoDa if possible.

All I know form github is using it to install software. However, I hope these links help somehow:

https://github.com/linuxcontainers/debian-slim

https://github.com/docker-library/official-images/blob/master/library/debian

https://hub.docker.com/_/debian

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants