11-20-2024, 08:23 AM
(11-18-2024, 11:24 PM)Tas_mania Wrote: Issues with GitLab seems to be fixed and I posted to a discussion at the AppImage merge request.
They have done an amazing job in just 6 months I recon. I realized my appimage loads fast because it uses kernels that support overlay-fs. The Gimp-git appimage is targeting all linux distros which I never intended. I mostly do it to keep my mind active.
The gimp-git appimage can also be used for testing the gimp-git development.
Developing Gimp3 for all major platforms and all linux distros at the same time seems an over-whelming task to me. Obviously a fix somewhere could break something else.
I'm interested in the script they use to find dependencies. I think too many deps are going into it. I've looked at the script they use to generate an appimage from source. They are great coders for sure.
Once you have compiled you Gimp binary, you use ldd on it and it shows you all the libraries it loads:
Code:
[font=monospace][color=#000000][/color][font=monospace][color=#000000]ldd /Gimp-dev/3.00/run/bin/gimp-3.0 | sort -k 3 [/color]
/lib64/ld-linux-x86-64.so.2 (0x00007383c8fc6000)
linux-vdso.so.1 (0x00007ffd80f91000)
libbabl-0.1.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libbabl-0.1.so.0 (0x00007383c7d2b000)
libgegl-0.4.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgegl-0.4.so.0 (0x00007383c805d000)
libgegl-npd-0.4.so => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgegl-npd-0.4.so (0x00007383c86c2000)
libgimpbase-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpbase-3.0.so.0 (0x00007383c87c7000)
libgimpcolor-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpcolor-3.0.so.0 (0x00007383c87ae000)
libgimpconfig-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpconfig-3.0.so.0 (0x00007383c878f000)
libgimpmath-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpmath-3.0.so.0 (0x00007383c8fbc000)
libgimpmodule-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpmodule-3.0.so.0 (0x00007383c8787000)
libgimpthumb-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpthumb-3.0.so.0 (0x00007383c877b000)
libgimpwidgets-3.0.so.0 => /Gimp-dev/3.00/run/lib/x86_64-linux-gnu/libgimpwidgets-3.0.so.0 (0x00007383c8400000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007383c5d1a000)
libappstream-glib.so.8 => /lib/x86_64-linux-gnu/libappstream-glib.so.8 (0x00007383c7060000)
libarchive.so.13 => /lib/x86_64-linux-gnu/libarchive.so.13 (0x00007383c6f74000)
libatk-1.0.so.0 => /lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007383c6748000)
libatk-bridge-2.0.so.0 => /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007383c66f9000)
libatspi.so.0 => /lib/x86_64-linux-gnu/libatspi.so.0 (0x00007383c59a9000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007383c5a11000)
libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007383c59e5000)
libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007383c677e000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007383c5595000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007383c678c000)
libcairo-gobject.so.2 => /lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007383c6772000)
libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007383c82bc000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007383c4f99000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007383c5421000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007383c4a00000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007383c6c00000)
libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007383c5ea4000)
libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007383c5a08000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007383c595a000)
libepoxy.so.0 => /lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007383c62dd000)
libexiv2.so.27 => /lib/x86_64-linux-gnu/libexiv2.so.27 (0x00007383c6400000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007383c67a0000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007383c695c000)
libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007383c7a9b000)
libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007383c79cf000)
libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007383c67fc000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007383c681a000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007383c28b8000)
libgdk-3.so.0 => /lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007383c7105000)
libgdk_pixbuf-2.0.so.0 => /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007383c872f000)
libgexiv2.so.2 => /lib/x86_64-linux-gnu/libgexiv2.so.2 (0x00007383c7cf2000)
libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007383c7e8d000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007383c8173000)
libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007383c6e84000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007383c4fcf000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007383c566e000)
libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007383c86cc000)
libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00007383c5f5f000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007383c4f5a000)
libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007383c67cb000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007383c561a000)
libgtk-3.so.0 => /lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007383c7200000)
libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007383c7b07000)
libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007383c546d000)
libicudata.so.74 => /lib/x86_64-linux-gnu/libicudata.so.74 (0x00007383c2a00000)
libicuuc.so.74 => /lib/x86_64-linux-gnu/libicuuc.so.74 (0x00007383c5200000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007383c590d000)
libjpeg.so.8 => /lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007383c6968000)
libjson-c.so.5 => /lib/x86_64-linux-gnu/libjson-c.so.5 (0x00007383c5fb5000)
libjson-glib-1.0.so.0 => /lib/x86_64-linux-gnu/libjson-glib-1.0.so.0 (0x00007383c8696000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007383c5427000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007383c4f92000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007383c4793000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007383c5414000)
liblber.so.2 => /lib/x86_64-linux-gnu/liblber.so.2 (0x00007383c55ad000)
liblcms2.so.2 => /lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007383c7c90000)
libldap.so.2 => /lib/x86_64-linux-gnu/libldap.so.2 (0x00007383c55bd000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007383c5c3e000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007383c5d7b000)
libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007383c4fa6000)
libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007383c6875000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007383c6e8b000)
libmypaint-1.5.so.1 => /lib/x86_64-linux-gnu/libmypaint-1.5.so.1 (0x00007383c70ca000)
libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007383c5d26000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007383c592f000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007383c485c000)
libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007383c7c14000)
libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007383c7c7f000)
libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007383c7aec000)
libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007383c68c2000)
libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007383c69eb000)
libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007383c6e4c000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007383c5868000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007383c4f7f000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007383c58ef000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007383c4fb5000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007383c6848000)
libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007383c587c000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007383c6000000)
libstemmer.so.0d => /lib/x86_64-linux-gnu/libstemmer.so.0d (0x00007383c5dad000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007383c54b5000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007383c5455000)
libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007383c67f1000)
libunistring.so.5 => /lib/x86_64-linux-gnu/libunistring.so.5 (0x00007383c5053000)
libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007383c7045000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007383c5e9a000)
libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007383c6282000)
libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007383c5ff6000)
libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007383c5ff1000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007383c6ac3000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007383c5a56000)
libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007383c6e1d000)
libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007383c6e18000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007383c6a9a000)
libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007383c5fdb000)
libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007383c5fe5000)
libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007383c5fe0000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007383c5a4c000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007383c6e38000)
libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007383c66f1000)
libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007383c5fc9000)
libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007383c6735000)
libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007383c6294000)
libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007383c5a5c000)
libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007383c5fce000)
libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007383c6e2c000)
libyaml-0.so.2 => /lib/x86_64-linux-gnu/libyaml-0.so.2 (0x00007383c5e79000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007383c70e9000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007383c5c60000)
[/font]
To be more complete you do the same with all the binary Gimp plugins and any executable you are going to include (Python interpreter for instance), and you have the list of everything you load. Things are more complicated for the data files (message translations, icons, etc) but if you have the libs, you find their package, and include the package contents as well. You can check the package dependencies to include any data-only packages.