Здравствуйте, Unhandled_Exception, Вы писали:
U_E>Смущает только один момент. Как я понимаю, нельзя просто так собрать бинарники, чтобы они везде работали. Как же быть?
Вот здесь шароварщики просто так собирают бинарники:
https://www.virtualhere.com/usb_server_software
Серверная часть, демон без интерфейса, у них работает действительно везде. На нашем микродистрибутиве, в котором от линукса одно ядро и кусочек libc, серверная часть запустилась сразу безо всяких костылей. Зависимости (после распаковки из upx):
$ldd vhusbdi386
not a dynamic executable
Статически линковано со всем. Привет тем, у кого "libc нельзя линковать статически".
С интерфейсной частью всё намного сложнее.
| | Две страницы зависимостей |
| | $ ldd vhuit32
linux-gate.so.1 (0xb7f77000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb7e04000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb7df9000)
libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb78fe000)
libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb783b000)
libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb7633000)
libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb7623000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb75f6000)
libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb74a6000)
libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb7457000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb73f2000)
libglib-2.0.so.0 => /usr/lib/i386-linux-gnu/libglib-2.0.so.0 (0xb72b7000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb72b1000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7132000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb702c000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb700e000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6fed000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6e0f000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6de1000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb6dc4000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb6dba000)
libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb6db4000)
libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb6dae000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb6da9000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb6da2000)
libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6d79000)
libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6d60000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6d13000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb6c50000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb6c44000)
libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb6c3f000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6c2c000)
libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb6c1d000)
libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb6c10000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6bfb000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6bdc000)
libmount.so.1 => /lib/i386-linux-gnu/libmount.so.1 (0xb6b70000)
libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb6b43000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb6b29000)
libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb6a79000)
libpng16.so.16 => /usr/lib/i386-linux-gnu/libpng16.so.16 (0xb6a3a000)
libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb6a35000)
libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb6a24000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb6a19000)
libthai.so.0 => /usr/lib/i386-linux-gnu/libthai.so.0 (0xb6a0d000)
libfribidi.so.0 => /usr/lib/i386-linux-gnu/libfribidi.so.0 (0xb69f1000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb69e7000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb696e000)
/lib/ld-linux.so.2 (0xb7f79000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb6969000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb6962000)
libbsd.so.0 => /usr/lib/i386-linux-gnu/libbsd.so.0 (0xb6943000)
libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xb682c000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb67ef000)
libblkid.so.1 => /lib/i386-linux-gnu/libblkid.so.1 (0xb6791000)
libdatrie.so.1 => /usr/lib/i386-linux-gnu/libdatrie.so.1 (0xb6787000)
libgraphite2.so.3 => /usr/lib/i386-linux-gnu/libgraphite2.so.3 (0xb6759000)
|
| | |
Выходит, опытные коллеги под linux используют GTK+ и ожидают, что у потенциальной аудитории это поедет.