pgadmin-org / pgadmin-org/pgadmin4

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

Open
#7,970 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug
Dominant language
Python
Stars
3.8k
Forks
891
Avg merge
4d 7h
Merged PRs (30d)
8

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the Debian metadata for the pgadmin4-desktop package and compare it with the dependencies reported for /usr/pgadmin4/bin/pgadmin4. Use the linked Debian policy as the requirements reference; done means the package declares the needed runtime libraries and installs successfully with its dependencies available.

Written by the indexing model from the issue text.

Assessment

Tech stack
debian, python
Domain
build-system, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.