Есть некая проприетарная программа, которую нужно раздавать в виде бинарников. 95% ее пользователей работают под Ubuntu и Fedora, там проблем нет. Оставшиеся работают на чем угодно: от Pardus до Gentoo. Предполагается, что они получат статически слинкованную версию.
Однако здесь появляются проблемы. После выяснения того факта, что glibc не нужно включать в статический бинарник, было решено собрать нечто вроде полу-статика, то есть включить в состав бинарника статические версии большинства прикладных библиотек. Аналогичным образом собирается skype. В качестве платформы для сборки был выбран Debian-5 (i386), там большинство необходимых библиотек имеется как в .so, так и в .a.
Полученный бинарник был перенесен под Ubuntu-9.10 (i386) чисто с экспериментальными целями. Дальше начались фокусы. Если запустить программу просто так, она падает, выдав сообщение
Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
Segmentation fault
Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
Program received signal SIGSEGV, Segmentation fault.
0x00535645 in xcb_writev () from /usr/lib/libxcb.so.1
Собственно, вопросы. Расскажите, вдруг кто-нибудь знает о таком эффекте — почему он происходит (характер «подземного стука» вроде описал). Ну и как бороться, собственно...