Понадобилось мне поставить skype. Система — debian testing, amd64. Поскольку в репозиториях скайпа нет, было решено поискать его на офсайте.
skype.com -> Download показало множество вариантов на любой вкус и цвет. Только вот Debian'а для amd64 там не оказалось. Зато оказался некий 'static', который и был тут же слит и распакован:
и запущен:
Вопрос № 1 — о каких shared libraries идет речь, если это якобы статическая линковка?
Или я неправильно понимаю смысл слова static…
Для пробы слил dynamic с офсайта же:
Вопрос № 2 — в чем разница между static и dynamic в понятии скайпа? Судя по зависимостям — только в кутэшных библиотеках. Причем в README ни той, ни другой версии этого не указано.
Попробуем еще раз, на этот раз с пакетом для 'Ubuntu 8.10+ 64-bit':
Установился без конфликтов зависимостей, запускаем:
Не установлена нужная библиотека?
Библиотека установлена, но скайп ее почему-то не находит. Проверим:
Похоже, библиотека этой якобы 64битной версии нужна 32битная. Что за ерунда?
А версия-то вовсе не 64битная…
Вопрос № 3 — что это за пакет для amd64, который содержит 32битный бинарник и зависит от 32битных библиотек?
Остальные варианты не стал даже пробовать — очевидно, что все они для 32битных систем. Доставлять 32битные версии всех нужных ему библиотек совсем не хочется. Deb якобы для amd64 и static возложенных на них ожиданий не оправдали. Ничего не говорю о 4й версии под Винду и всего лишь 2й под Линух, портирование с платформы на платформу — штука непростая. Но неужели трудно хотя бы _на самом деле_ собрать пакет под amd64?
Попытка поставить предыдущую версию (не-бету) успехом также не увенчалось, поскольку непонятно, где ее искать. На офсайте упоминаний о ней я не нашел, а ссылки из многочисленных howto в интернетах теперь ведут на ту же самую последнюю бета-версию. Вот такая вот дружелюбная штука — скайп…
skype.com -> Download показало множество вариантов на любой вкус и цвет. Только вот Debian'а для amd64 там не оказалось. Зато оказался некий 'static', который и был тут же слит и распакован:
ineu@ineu ~ % tar xjpf skype_static-2.1.0.47.tar.bz2 ineu@ineu ~ % cd skype_static-2.1.0.47/
и запущен:
ineu@ineu skype_static-2.1.0.47 % ./skype ./skype: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
Вопрос № 1 — о каких shared libraries идет речь, если это якобы статическая линковка?
ineu@ineu skype_static-2.1.0.47 % ldd skype linux-gate.so.1 => (0xf7f71000) libasound.so.2 => /usr/lib32/libasound.so.2 (0xf7e90000) libXv.so.1 => /usr/lib32/libXv.so.1 (0xf7e8b000) libXss.so.1 => /usr/lib32/libXss.so.1 (0xf7e87000) libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7e7f000) libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7e67000) libXi.so.6 => /usr/lib32/libXi.so.6 (0xf7e5e000) libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf7e55000) libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf7e4e000) libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf7dd6000) libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf7dab000) libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7d9d000) libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7c81000) libz.so.1 => /usr/lib32/libz.so.1 (0xf7c6c000) libgthread-2.0.so.0 => not found libglib-2.0.so.0 => not found librt.so.1 => /lib32/librt.so.1 (0xf7c63000) libdl.so.2 => /lib32/libdl.so.2 (0xf7c5f000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf7c47000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7b57000) libm.so.6 => /lib32/libm.so.6 (0xf7b32000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7b07000) libc.so.6 => /lib32/libc.so.6 (0xf79b2000) libuuid.so.1 => /lib32/libuuid.so.1 (0xf79ae000) libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf7988000) libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7984000) libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf796b000) /lib/ld-linux.so.2 (0xf7f72000) libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7966000)
Или я неправильно понимаю смысл слова static…
Для пробы слил dynamic с офсайта же:
ineu@ineu ~ % tar xjpf skype-2.1.0.47.tar.bz2 ineu@ineu ~ % cd skype-2.1.0.47 ineu@ineu skype-2.1.0.47 % ./skype ./skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory ineu@ineu skype-2.1.0.47 % ldd skype linux-gate.so.1 => (0xf7f47000) libasound.so.2 => /usr/lib32/libasound.so.2 (0xf7e66000) libXv.so.1 => /usr/lib32/libXv.so.1 (0xf7e61000) libXss.so.1 => /usr/lib32/libXss.so.1 (0xf7e5d000) librt.so.1 => /lib32/librt.so.1 (0xf7e55000) libQtDBus.so.4 => not found libQtGui.so.4 => not found libQtNetwork.so.4 => not found libQtCore.so.4 => not found libpthread.so.0 => /lib32/libpthread.so.0 (0xf7e3c000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7d4c000) libm.so.6 => /lib32/libm.so.6 (0xf7d28000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7cfd000) libc.so.6 => /lib32/libc.so.6 (0xf7ba7000) libdl.so.2 => /lib32/libdl.so.2 (0xf7ba3000) libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7a87000) libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7a79000) /lib/ld-linux.so.2 (0xf7f48000) libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7a60000) libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7a5c000) libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7a57000)
Вопрос № 2 — в чем разница между static и dynamic в понятии скайпа? Судя по зависимостям — только в кутэшных библиотеках. Причем в README ни той, ни другой версии этого не указано.
Попробуем еще раз, на этот раз с пакетом для 'Ubuntu 8.10+ 64-bit':
ineu@ineu ~ % sudo dpkg -i skype-ubuntu-intrepid_2.1.0.47-1_amd64.deb Выбор ранее не выбранного пакета skype. (Чтение базы данных ... на данный момент установлено 166947 файлов и каталогов.) Распаковывается пакет skype (из файла skype-ubuntu-intrepid_2.1.0.47-1_amd64.deb)... Настраивается пакет skype (2.1.0.47-1) ... Обрабатываются триггеры для desktop-file-utils ...
Установился без конфликтов зависимостей, запускаем:
ineu@ineu ~ % skype skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory
Не установлена нужная библиотека?
ineu@ineu ~ % dlocate libQtDBus.so.4 libqt4-dbus: /usr/lib/libQtDBus.so.4.5.2 libqt4-dbus: /usr/lib/libQtDBus.so.4 libqt4-dbus: /usr/lib/libQtDBus.so.4.5
Библиотека установлена, но скайп ее почему-то не находит. Проверим:
ineu@ineu ~ % ldd `which skype` linux-gate.so.1 => (0xf7f42000) libasound.so.2 => /usr/lib32/libasound.so.2 (0xf7e61000) libXv.so.1 => /usr/lib32/libXv.so.1 (0xf7e5c000) libXss.so.1 => /usr/lib32/libXss.so.1 (0xf7e58000) librt.so.1 => /lib32/librt.so.1 (0xf7e50000) libQtDBus.so.4 => not found libQtGui.so.4 => not found libQtNetwork.so.4 => not found libQtCore.so.4 => not found libpthread.so.0 => /lib32/libpthread.so.0 (0xf7e37000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7d47000) libm.so.6 => /lib32/libm.so.6 (0xf7d23000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7cf8000) libc.so.6 => /lib32/libc.so.6 (0xf7ba2000) libdl.so.2 => /lib32/libdl.so.2 (0xf7b9e000) libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7a82000) libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7a74000) /lib/ld-linux.so.2 (0xf7f43000) libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7a5b000) libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7a57000) libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7a52000)
Похоже, библиотека этой якобы 64битной версии нужна 32битная. Что за ерунда?
ineu@ineu ~ % readelf -h `which skype` | grep Machine Machine: Intel 80386
А версия-то вовсе не 64битная…
Вопрос № 3 — что это за пакет для amd64, который содержит 32битный бинарник и зависит от 32битных библиотек?
Остальные варианты не стал даже пробовать — очевидно, что все они для 32битных систем. Доставлять 32битные версии всех нужных ему библиотек совсем не хочется. Deb якобы для amd64 и static возложенных на них ожиданий не оправдали. Ничего не говорю о 4й версии под Винду и всего лишь 2й под Линух, портирование с платформы на платформу — штука непростая. Но неужели трудно хотя бы _на самом деле_ собрать пакет под amd64?
Попытка поставить предыдущую версию (не-бету) успехом также не увенчалось, поскольку непонятно, где ее искать. На офсайте упоминаний о ней я не нашел, а ссылки из многочисленных howto в интернетах теперь ведут на ту же самую последнюю бета-версию. Вот такая вот дружелюбная штука — скайп…