Почему LD_PRELOAD «v4l1compat.so» не работает с 64-битным Skype? [дубликат]

Возможный дубликат:
Видео Skype не работает после обновления с 11.10 до 12.04

Я пытаюсь устранить неполадки моей веб-камеры и заставить ее работать со Skype.

Часто предлагается обходной путь - выполнить LD_PRELOAD для файла v4l1compat.so. Но когда я пытаюсь это сделать, я получаю сообщение об ошибке:

fdr@maggie:~$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so skype
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.

и я почти уверен, что путь правильный:

fdr@maggie:~$ ls /usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so 
/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

и ядро ​​и Skype имеют соответствующую архитектуру:

fdr@maggie:~$ uname -a
Linux maggie 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
fdr@maggie:~$ dpkg -s skype | grep Architecture
Architecture: amd64

Итак, мой вопрос:

Что вызывает сообщение об ошибке «... из LD_PRELOAD не может быть предварительно загружено: игнорируется»?

2
задан 13 April 2017 в 15:25

1 ответ

Я думаю, что узнал.

, Хотя установлено от пакета на 64 бита, Skype компилируется для 32 битов:

fdr@maggie:~$ file `which skype`
/usr/bin/skype: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0xd6667f895e58d47966d6a572b13125e9110ee256, stripped

Следовательно этих двух:

fdr@maggie:~$ locate v4l1compat
/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so
/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

i386 нужно использоваться в LD_PRELOAD.

4
ответ дан 13 April 2017 в 15:25

Другие вопросы по тегам:

Похожие вопросы: