Closed jclc closed 5 years ago
Wayland is a backend option for GTK+ in addition to X11. The rest are used by the GLib portable utility library, which GTK+ is built on top of. You'd have to consult your distro to see if it's safe to remove the other packages, but GTK+ and GLib can certainly be built in a way that minimizes shared dependencies (but libui cannot ship with such a thing due to the licenses).
Why is systemd linked? If I ran this program on a distribution that doesn't use systemd, would it run?
What does the following command print for you?
pkg-config --libs gtk+-3.0
I'm now wondering if your binary will or will not work on a system that links GTK+ differently...
-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
Shouldn't the package produce an identical binary regardless of operating system?
It should, especially with that list of linked libraries. I wonder if ldd is going through the entire dependency chain.
Just confirmed that the ldd output is the same on Ubuntu as it is on my Manjaro machine. I've also confirmed it on Fedora.
It should, especially with that list of linked libraries. I wonder if ldd is going through the entire dependency chain.
This seems to be the case. I installed Void Linux on a VM; libsystemd didn't appear in the ldd output and the binary ran just fine.
Using the
ui
package on Linux adds a whole bunch of .so links, a lot of which are understandable while others are less so.ldd output:
Are wayland, lzma, systemd, gpg-error, gcrypt, blkid etc. really necessary? What are these libraries used for and is it even reasonable to expect a fresh install of a distro to have all of these?