我正在尝试在 Ubuntu 11.10 (64 位) 上安装 vPostgres (Vmware 的 postgres 版本) 的 odbc 驱动程序。我已下载安装程序 (64 位) 的 rpm 文件,当我尝试使用以下命令安装 rpm 时:
rpm -ivh Vmware-vPostgres-client.rpm,它显示了这个错误:
错误:依赖项失败: VMware-vPostgres-client-1.0.1.1145-532311.x86_64 需要 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)
我尝试过以下方法:
定位 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 打包格式,因此您无法在基于 Deb 的发行版上合理地安装 RPM。虽然可以安装该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