That dependency isn't being put in manually, it is automatic. Basically, the system notices what the executable actually is linked to:
$ ldd /usr/bin/pdf-presenter-console | wc -l 88 $ ldd /usr/bin/pdf-presenter-console | head -10 linux-vdso.so.1 (0x00007ffee66e2000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f08f603c000) libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f08f5de8000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f08f5ad2000) libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f08f5734000) libgee-0.8.so.2 => /usr/lib/x86_64-linux-gnu/libgee-0.8.so.2 (0x00007f08f546c000) libpoppler-glib.so.8 => /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8 (0x00007f08f520f000) libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f08f4ef2000) libgtk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007f08f45ec000) libgdk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007f08f42f8000) $ ldd /usr/bin/pdf-presenter-console | egrep -n gstream 17: libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f97c8313000) But I guess even though it's not actually linked to gstreamer1.0-gtk3, it must be dynamically loaded when appropriate or something like that. So it isn't strictly necessary for the program to run, but it does enhance its functionality. I guess ... need to look into the details I suppose ...