簡體   English   中英

制作gcc4.8.1時無法打開libmpc.so.3

[英]Cannot open libmpc.so.3 while making gcc4.8.1

我想在Ubuntu 10.04上安裝gcc4.8.1。

這是我的安裝步驟:

  1. 安裝libgmp,libmpfr和libmpc。

  2. 切換到gcc4.8.1源代碼目錄后,運行“。/configure--prefix = / usr / bin / gcc4.8.1 --with-gmp = / opt / pkg / gmp5.1.2 --with-mpfr = / opt / pkg / mpfr3.1.2 --with-mpc = / opt / pkg / mpc1.0.1“

  3. 使

  4. 導出LD_LIBRARY_PATH = / opt / pkg / gmp5.1.2 / lib:/opt/pkg/mpfr3.1.2/lib:/opt/pkg/mpc1.0.1/lib

  5. sudo進行安裝。

在最后一步中,我得到此錯誤:

/usr/local/sbin/gcc-4.8.1/host-i686-pc-linux-gnu/gcc/cc1: error while loading shared   libraries: libmpc.so.3: cannot open shared object file: No such file or directory
make[5]: *** [install-exec-hook] Error 1
make[5]: Leaving directory `/usr/local/sbin/gcc-4.8.1/i686-pc-linux-gnu/libjava'
make[4]: *** [install-exec-am] Error 2
make[4]: Leaving directory `/usr/local/sbin/gcc-4.8.1/i686-pc-linux-gnu/libjava'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/usr/local/sbin/gcc-4.8.1/i686-pc-linux-gnu/libjava'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/usr/local/sbin/gcc-4.8.1/i686-pc-linux-gnu/libjava'
make[1]: *** [install-target-libjava] Error 2
make[1]: Leaving directory `/usr/local/sbin/gcc-4.8.1'
make: *** [install] Error 2

我已切換到libmpc庫路徑,並使用ldd測試了libmpc.so.3。 已成功安裝。 為什么說它無法打開共享庫libmpc.so.3? 我該如何解決?

根據您的建議,我已經成功安裝了gcc4.8.1。 這是我的步驟:

  1. 從/ opt / pkg中刪除gmp,mpfr和mpc。

  2. 使用默認配置安裝gmp,mpfr和mpc。 這些軟件包將安裝在/ usr / local / lib中。

  3. 導出LD_LIBRARY_PATH = / usr / local / lib:$ LD_LIBRARY_PATH。

  4. 輸入gcc源目錄,運行“ ./configure”。

  5. 使。

  6. 添加符號鏈接:

    須藤ln -s /usr/local/lib/libgmp.so.10 /usr/lib/libgmp.so.10

    sudo ln -s /usr/local/lib/libmpfr.so.4 /usr/lib/libmpfr.so.4

    須藤ln -s /usr/local/lib/libmpc.so.3 /usr/lib/libmpc.so.3

  7. sudo進行安裝。

比你KiaMorot。 謝謝trojanfoe。

我不相信這里有任何答案可以解決這個問題。 您的問題是最后兩個步驟

export LD_LIBRARY_PATH=/opt/pkg/gmp5.1.2/lib:/opt/pkg/mpfr3.1.2/lib:/opt/pkg/mpc1.0.1/lib
sudo make install

導出LD_LIBRARY_PATH是正確的,但是在最后一步中使用sudo更改為root用戶時,您將重置所有環境變量。

解決此問題的一種方法:

sudo -s  # become root user
export LD_LIBRARY_PATH=/opt/pkg/gmp5.1.2/lib:/opt/pkg/mpfr3.1.2/lib:/opt/pkg/mpc1.0.1/lib
make install  # don't use sudo here

如果有人使用他們自己的手動構建的libgmp,libmpfr和libmpc而不是系統提供的版本偶然發現了此問題:

export LD_LIBRARY_PATH=/opt/your-prefix-directory

對於make本身是必需的,即,即使gcc ./configure

--with-gmp=/opt/your-prefix-directory --with-mpc=/opt/your-prefix-directory --with-mpfr=/opt/your-prefix-directory

您需要指定鏈接器應在哪里尋找libgmp和朋友。

您必須檢查libmpc.so.3是否已成功創建到libmpc.so.3.0.0的符號鏈接。 因為您已經手動安裝了該庫和sym,所以可能會出現此錯誤。 鏈接可能丟失。 您可以嘗試以下方法:

sudo ln -s /opt/pkg/mpc1.0.1/lib/libmpc.so.3.0.0 /opt/pkg/mpc1.0.1/lib/libmpc.so.3

ln語法是ln -s <real path to file> <symbolic link name> 有關更多信息,請查看ln的手冊頁。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM