MBS Xojo Developer Conference and Training
Join us from 3rd to 6th May 2017 in Berlin, Germany.

Platforms to show: All Mac Windows Linux Cross-Platform

FAQ.How can I learn what shared libraries are required by a plugin on Linux?
Feedback.

Answer: Please use the ldd command in the terminal.
Notes:
You build an app on any platform, but for Linux.
For the resulting .so files in the libs folder, you can run the ldd command with the library path as parameter. It shows you references lib files and you can make sure you have those installed.

This is a sample run of our graphicsmagick plugin:

cs@Ubuntu32:~/MeinProgramm/MeinProgramm Libs$ ldd libMBSGraphicsMagickPlugin17744.so
linux-gate.so.1 => (0xb76ee000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6f0e000)
libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb6aa6000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6a8a000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb69a5000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6979000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb695b000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb67b1000)
/lib/ld-linux.so.2 (0xb76ef000)
libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb6701000)
libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb66f4000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb65c0000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb65ba000)
libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb659a000)
libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb64ce000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb64ad000)
libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6356000)
libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb632a000)
libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb62e0000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb62ab000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb625c000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6163000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6151000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb6147000)
libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb6142000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6132000)
libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb6129000)
libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb611e000)
libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb611a000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb6115000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb607b000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb605a000)
libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb5fc2000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb5f98000)
libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb5f93000)
libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb5f89000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb5f73000)
libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb5f6e000)
libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb5f4f000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb5f36000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb5f0c000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb5f05000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb5ec9000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb5ec0000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb5ebb000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb5eb4000)
cs@Ubuntu32:~/MeinProgramm/MeinProgramm Libs$

As you see all library have been found and their load address is printed behind the na,e.
If a library is missing, you usually see the address missing there or being zero.




Links
MBS FileMaker blog