libc.so.6() (64-bit) is needed by .... ubuntu 11.10
Я пытаюсь установить драйвер odbc для vPostgres (версия Vmware для postgres) в Ubuntu 11.10 (64-разрядная версия). Я скачал rpm-файл установщика (64-битный) и при попытке установить rpm с помощью:
rpm -ivh Vmware-vPostgres-client.rpm, он показывает мне эту ошибку:
ошибка: сбойные зависимости: Требуется libc.so.6 () (64 бита) для VMware-vPostgres-client-1.0.1.1145-532311.x86_64 Требуется libc.so.6(GLIBC_2.2.5)(64 бита) для VMware-vPostgres-client-1.0.1.1145-532311.x86_64 Требуется libc.so.6(GLIBC_2.3)(64 бита) для VMware-vPostgres-client-1.0.1.1145-532311.x86_64 VMware-vPostgres-client-1.0.1.1145-532311.x86_64 необходим libc.so.6(GLIBC_2.3.3)(64 бита) Требуется libdl.so.2 () (64 бита) для VMware-vPostgres-client-1.0.1.1145-532311.x86_64 VMware-vPostgres-client-1.0.1.1145-532311.x86_64 требуется libdl.so.2(GLIBC_2.2.5)(64 бита) VMp-vPostgres-client-1.0.1.1145-532311.x86_64 необходим libpthread.so.0 () (64-бит) VMware-vPostgres-client-1.0.1.1145-532311.x86_64 требуется libpthread.so.0(GLIBC_2.2.5)(64 бита) Требуется libresolv.so.2 () (64 бита) для VMware-vPostgres-client-1.0.1.1145-532311.x86_64 VMware-vPostgres-client-1.0.1.1145-532311.x86_64 необходим libresolv.so.2(GLIBC_2.2.5)(64 бита)
Несколько вещей, которые я пробовал:
locate libpthread.so.0 возвращает:
/lib/i386-linux-gnu/libpthread.so.0 /lib/x86_64-linux-gnu/libpthread.so.0 /lib32/libpthread.so.0
Я получаю аналогичные места для всех других файлов: найдите libc.so.6
/lib/i386-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6 /lib32/libc.so.6
и так далее.
Я попытался создать символические ссылки, используя:
sudo ln -s lib / x86_64-linux-gnu / libc.so.6 /lib64/libc.so.6 sudo ln -s lib / x86_64-linux-gnu / libc.so.6 /lib/libc.so.6 sudo ln -s lib / x86_64-linux-gnu / libc.so.6 libc.so.6
но никто из них не работал. Я не уверен, где именно он пытается найти эти файлы.
ldd Vmware-vPostgres-client.rpm мало помогает и возвращает "не динамический исполняемый файл", который ожидается
Я попытался добавить путь в файл /etc/ld.so.conf
include lib/x86_64-linux-gnu/libc.so.6
Я также попытался установить LD_LIBRARY_PATH для указанного файла, но бесполезно.
ldd - версия показывает GLIBC 2.13
Может кто-нибудь помочь мне, где именно он ищет файл?
2 ответа
Ubuntu использует формат упаковки Debian, поэтому вы не можете разумно устанавливать RPM в дистрибутиве на основе Debian. Пока можно установить rpm
Это означает, что зависимости пакетов не интегрируются с зависимостями пакетов Deb, и содержимое пакетов может не обязательно работать.
Лучшее решение - найти пакет Deb с нужным вам программным обеспечением, а следующий лучший вариант - встроить его в пакет Deb самостоятельно (что требует немалых усилий). Если это невозможно, последним средством является попытка использовать иностранца для преобразования RPM в Deb. Вам все равно придется работать с зависимостями вручную и, возможно, с изменениями, внесенными в скрипты пакета.
у меня "пришелец" работает
$ sudo apt-get install alien
$ sudo alien VMware-vPostgres-client-1.0.1.1145-532311.x86_64.rpm
vmware-vpostgres-client_1.0.1.1145-532312_amd64.deb generated
$ sudo dpkg -i vmware-vpostgres-client_1.0.1.1145-532312_amd64.deb
...
Unpacking vmware-vpostgres-client (from vmware-vpostgres-client_1.0.1.1145-532312_amd64.deb) ...
Setting up vmware-vpostgres-client (1.0.1.1145-532312) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place