在制作gcc4.8.1时无法打开libmpc.so.3
Cannot open libmpc.so.3 while making gcc4.8.1
我想在ubuntu 1004上安装gcc4.8.1。
以下是我的安装步骤:
-
安装libgmp、libmpfr和libmpc。
-
在切换到gcc4.8.1源代码目录后,运行"./configure--prefix=/usr/bin/gcc48.1-with gmp=/opt/pkg/gmp5.1.2--with mpfr=/opt/PKK/mpfr3.1.2--with mpc=/opt/PKM/mpc1.0.1"
-
制作
-
export LD_LIBRARY_PATH=/opt/pkg/gmp5.1.2/lib:/opt/pkg/mpfr3.1.2/lib:/opt/pkg/mpc1.0.1/lib
-
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。以下是我的步骤:
-
从/opt/pkg中删除gmp、mpfr和mpc。
-
使用默认配置安装gmp、mpfr和mpc。这些软件包将安装在/usr/local/lib中。
-
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH。
-
输入gcc源目录,运行"./configure"。
-
制造。
-
添加符号链接:
sudo ln-s/usr/local/lib/libgmp.so.10/usr/lib/libgmp.so.10
sudo ln-s/usr/local/lib/libmpfr.so.4/usr/lib/limpfr.so.4
sudo ln-s/usr/local/lib/libmpc.so.3/usr/lib/limpc.so.3
-
sudo制作安装。
比你KiaMorot。谢谢特洛伊人。
我不相信这里的任何答案都能解决这个问题。你的问题是最后两步
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和friends的位置。
您必须检查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
的手册页。
- 如何使用ndk-build.cmd构建Android.so文件
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- CLANG格式在缺少libtinfo.so.5库中不起作用
- C++ 运行时链接器错误 (liblog4cpp.so.5) Eclipse
- 程序无法启动,因为缺少 libmpc-3.dll
- 使 ld 忽略来自 /etc/ld.so.conf 的目录
- N-API include an .so or dll
- 加载共享库时C++错误:libopencv_ximgproc.so.4.4
- 如何从构建 libgpio.so 的生成文件构建libgpio.a
- 用于构建 cuda .so 文件(共享库)的生成文件
- 无法从 SO 文件调用 SO 文件的函数 - C++生成文件
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 在jupyter notebook和google colab中使用.so
- 如何在 C++ 的 .so 文件中包含库
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- OpenVINO - 推理库插件 libMKLDNNPlugin.so 无法解析依赖关系
- 如何使用QtCreator将应用程序与"libqsqlpsql.so"链接?
- 添加符号 libgtest.so 错误:命令行中缺少 DSO
- 在制作gcc4.8.1时无法打开libmpc.so.3