我正在嘗試在 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()(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 需要 libc.so.6(GLIBC_2.3.3)(64 位元) VMware-vPostgres-client-1.0.1.1145-532311.x86_64 需要 libdl.so.2()(64 位元) VMware-vPostgres-client-1.0.1.1145-532311.x86_64 需要 libdl.so.2(GLIBC_2.2.5)(64 位元) VMware-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 位元) VMware-vPostgres-client-1.0.1.1145-532311.x86_64 需要 libresolv.so.2()(64 位元) VMware-vPostgres-client-1.0.1.1145-532311.x86_64 需要 libresolv.so.2(GLIBC_2.2.5)(64 位元)
我嘗試過的幾件事:
定位 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