libc.so.6() (64-бит) необходим для .... ubuntu 11.10

libc.so.6() (64-бит) необходим для .... ubuntu 11.10

Я пытаюсь установить драйвер odbc для vPostgres (версия Vmware для postgres) на Ubuntu 11.10 (64-бит). Я загрузил файл rpm установщика (64-бит), и когда я пытаюсь установить rpm с помощью:

rpm -ivh Vmware-vPostgres-client.rpm, он показывает мне эту ошибку:

ошибка: Неудачные зависимости:
    libc.so.6()(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libc.so.6(GLIBC_2.2.5)(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libc.so.6(GLIBC_2.3)(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libc.so.6(GLIBC_2.3.3)(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libdl.so.2()(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libdl.so.2(GLIBC_2.2.5)(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libpthread.so.0()(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libpthread.so.0(GLIBC_2.2.5)(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libresolv.so.2()(64bit) необходим для VMware-vPostgres-client-1.0.1.1145-532311.x86_64
    libresolv.so.2(GLIBC_2.2.5)(64bit) требуется для VMware-vPostgres-client-1.0.1.1145-532311.x86_64

Несколько вещей, которые я попробовал:

locate libpthread.so.0 возвращает:

/lib/i386-linux-gnu/libpthread.so.0

/lib/x86_64-linux-gnu/libpthread.so.0

/lib32/libpthread.so.0

Я получаю похожие расположения для всех остальных файлов: locate 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

включить lib/x86_64-linux-gnu/libc.so.6

Я также пробовал установить LD_LIBRARY_PATH на указанный файл, но это бесполезно.

ldd --version показывает GLIBC 2.13

Может ли кто-нибудь помочь мне узнать, где именно он ищет файл?

решение1

Ubuntu использует формат пакетов Debian, поэтому вы не можете разумно устанавливать RPM-пакеты на дистрибутив на основе Deb. Хотя установить инструмент можно rpm, зависимости пакетов не интегрируются с зависимостями пакетов Deb, и содержимое пакетов также может не работать.

Лучшим решением будет найти Deb-пакет нужного вам программного обеспечения, а следующим лучшим вариантом будет собрать его в Deb-пакет самостоятельно (что требует немало работы). Если это невозможно, то последним средством будет попробовать использоватьчужакдля преобразования RPM в Deb. Вам все равно придется вручную работать с зависимостями и, возможно, с изменениями, внесенными в скрипты пакетов.

решение2

"чужой" мне подходит:

$ 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

Связанный контент