pgadmin4 icon indicating copy to clipboard operation
pgadmin4 copied to clipboard

The pgadmin4-desktop Debian package fails to declare any of its dependencies

Open miiichael opened this issue 1 year ago • 4 comments

This is basically #6649 all over again, except with pgadmin4-desktop.

I am attempting to run pgadmin4-desktop on Debian.

Actual behaviour:

  • pgadmin4-desktop fails to start:

    image

    The list of missing dependencies would probably be much longer on a bare Debian install.

  • pgadmin4-desktop declared dependencies:

    Depends: pgadmin4-server (= 8.12), libatomic1, xdg-utils, python-dbus | python3-dbus
    

Expected behaviour:

  • pgadmin desktop starts because it has all of its dependencies installed. Specifically, /usr/pgadmin4/bin/pgadmin4 is linked against:
            /lib64/ld-linux-x86-64.so.2 (0x00007fa57aa93000)
          libasound.so.2 => not found
          libatk-1.0.so.0 => /lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007fa56efb0000)
          libatk-bridge-2.0.so.0 => not found
          libatspi.so.0 => not found
          libavahi-client.so.3 => /lib/x86_64-linux-gnu/libavahi-client.so.3 (0x00007fa56e625000)
          libavahi-common.so.3 => /lib/x86_64-linux-gnu/libavahi-common.so.3 (0x00007fa56e638000)
          libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007fa56e066000)
          libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fa56d5d2000)
          libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fa56d64d000)
          libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fa56d637000)
          libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fa56ed84000)
          libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007fa56e05a000)
          libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fa56e021000)
          libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa56e8d5000)
          libcups.so.2 => /lib/x86_64-linux-gnu/libcups.so.2 (0x00007fa56ef13000)
          libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007fa56e007000)
          libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fa56efdb000)
          libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa56f5ab000)
          libdrm.so.2 => not found
          libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fa56ebe1000)
          libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fa56e8c9000)
          libffmpeg.so => /usr/pgadmin4/bin/libffmpeg.so (0x00007fa56f5b7000)
          libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fa56e1e4000)
          libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fa56e11a000)
          libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007fa56e3eb000)
          libgbm.so.1 => not found
          libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa56eab6000)
          libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fa56dcb9000)
          libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007fa56f22d000)
          libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fa56f40f000)
          libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fa56e827000)
          libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fa56d688000)
          libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fa56e407000)
          libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fa56f547000)
          libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fa56d60f000)
          libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fa56d65c000)
          libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fa56e646000)
          libgtk-3.so.0 => not found
          libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fa56e2dc000)
          libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fa56d709000)
          libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fa56d96b000)
          libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fa56dad0000)
          libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fa56d608000)
          libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fa56dafd000)
          libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fa56e013000)
          liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fa56dbd7000)
          liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa56e029000)
          libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007fa56d5c5000)
          libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007fa56e7a5000)
          libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa56ead6000)
          libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fa56d752000)
          libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x00007fa56f031000)
          libnss3.so => /lib/x86_64-linux-gnu/libnss3.so (0x00007fa56f0d4000)
          libnssutil3.so => /lib/x86_64-linux-gnu/libnssutil3.so (0x00007fa56f0a2000)
          libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fa56d99c000)
          libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007fa56eea8000)
          libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fa56e82d000)
          libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fa56e231000)
          libplc4.so => /lib/x86_64-linux-gnu/libplc4.so (0x00007fa56e76e000)
          libplds4.so => /lib/x86_64-linux-gnu/libplds4.so (0x00007fa56e769000)
          libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fa56e0e4000)
          libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa56f5a6000)
          libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fa56d5f7000)
          libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fa56e777000)
          libsmime3.so => /lib/x86_64-linux-gnu/libsmime3.so (0x00007fa56f073000)
          libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fa56e699000)
          libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fa56d7a0000)
          libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007fa56e3e0000)
          libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fa56d7b5000)
          libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa56ec42000)
          libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007fa56e0bd000)
          libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007fa56e0d1000)
          libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007fa56e0df000)
          libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fa56ebb7000)
          libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007fa56ec3d000)
          libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fa56ec38000)
          libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fa56de00000)
          libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007fa56ec23000)
          libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fa56ec1b000)
          libxkbcommon.so.0 => not found
          libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fa56ec0c000)
          libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fa56e0c4000)
          libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa56e808000)
          libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fa56dbfd000)
          linux-vdso.so.1 (0x00007ffe36b33000)
    

You need to declare dependencies on (at a minimum) libasound2, libatk1.0-0, libatk-bridge2.0-0, libatspi2.0-0, libavahi-client3, libavahi-common3, libblkid1, etc etc etc. If you need specific versions of these libraries you need to specify that too.

Please see relevant Debian policy here: https://www.debian.org/doc/debian-policy/ch-relationships.html

miiichael avatar Sep 25 '24 02:09 miiichael

@miiichael, on which Debian version are you trying to install?

khushboovashi avatar Sep 25 '24 05:09 khushboovashi

Current Debian stable, not that it makes a difference here.

miiichael avatar Sep 30 '24 03:09 miiichael

Hi @miiichael pgAdmin 4 desktop application suppose to have UI, looks like your debian installation does not have GUI.

anilsahoo20 avatar Oct 04 '24 11:10 anilsahoo20

It would have a GUI if your package specified that it depended on it. Hint, hint.

miiichael avatar Oct 04 '24 12:10 miiichael

pgAdmin Desktop app is GUI application and pgAdmin web is a web based application, as name suggests. If you do not have a GUI interface, I would suggest go with the web based application and browse through client browser.

khushboovashi avatar Oct 08 '24 05:10 khushboovashi

Except I do have a GUI interface (being WSLg). I already have the desktop app installed, but I had to manually install extra packages because you did not declare your dependencies.

miiichael avatar Oct 16 '24 12:10 miiichael

@miiichael

We are unable to reproduce this on our Debian systems. We haven't tested it with WSLg, we will try in future and update once that will be done.

akshay-joshi avatar Nov 08 '24 11:11 akshay-joshi

It should be trivial to reproduce. Just don't have pgadmin's dependencies (Gnome, GTK3, ALSA, PCRE, etc, etc) already installed on your test system.

miiichael avatar Nov 19 '24 02:11 miiichael