`

make报错:"/usr/bin/ld: cannot find -lXXX"

 
阅读更多
在编译php时报错如下:
# make
。。。
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

问题原因:
该问题一般是由于ld在进行库的连接时找不到库文件所致:

解决方案:
    出现该问题时,去lib目录下查找相关的库文件,基本如下:
[root@localhost ~]# cd  /usr/lib
[root@localhost lib]# ll | grep libltdl
lrwxrwxrwx   1 root root       16 Nov 14 22:40 libltdl.so.3 -> libltdl.so.3.1.4
-rwxr-xr-x   1 root root    25484 Dec 16  2009 libltdl.so.3.1.4
   上述库文件中没有库的入口: libltdl.so
可以通过手动建立连接来解决:
   # ln -s  ./libltdl.so.3   ./libltdl.so

但是深究该问题应该是该库的头文件库没有安装所致:
[root@localhost lib]# yum list all | grep ltdl
libtool-ltdl.i386                       1.5.22-7.el5_4              installed  
libtool-ltdl-devel.i386                 1.5.22-7.el5_4              CentOs5.5-32
安装头文件:
[root@localhost lib]# yum -y install libtool-ltdl-devel.i386
。。。
查看后发现该错误确实是由devel头文件未安装所致。
[root@localhost lib]# rpm -ql libtool-ltdl-devel.i386
/usr/include/ltdl.h
/usr/lib/libltdl.a
/usr/lib/libltdl.la
/usr/lib/libltdl.so

OK.问题解决~
查看网址:http://www.linuxquestions.org/questions/linux-software-2/make-error-usr-bin-ld-cannot-find-lxext-365646/
分享到:
评论

相关推荐

    Linux编译静态链接出现:/usr/bin/ld: cannot find -lc,解决方式

    Linux编译静态链接出现:/usr/bin/ld: cannot find -lc. 将libc.a拷贝到usr/lib/中,问题得以解决。

    CentOS 安装软件出现错误:/lib/ld-linux.so.2: bad ELF interpreter 解决

    bash:/usr/local/bin/rar:/lib/ld-linux.so.2:badELFinterpreter:Nosuchfileordirectory ``` - 这意味着系统未能正确加载程序所需的动态链接器(ld-linux.so.2)。 2. **共享库错误**: - 在尝试运行某些依赖于...

    centos安装jdk1.8时出现没有/lib/ld-linux.so.2:这个文件的原因分析

    -bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...

    安装docker-compose的两种最简方法

    这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式...# chmod +x /usr/local/bin/docker-compose 查看版本信息 # docker-compose --ver

    解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题

    我这里是 usr/local/jdk/ 2)输入命令 chmod 777 jdk1.8.0_221/bin/java修改权限 3)再次输入 java -version 成功 总结 以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,...

    linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方法

    linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案 今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看 yum remove yum 然后就杯具了… [root@localhost ~]#...

    runtime library [libssl.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:/home/

    编译ROS工程的过程中,因为安装了anaconda导致系统库的路径被覆盖掉,因而报错的时候 runtime library [libssl.so....bash: export: `/home/rw/anaconda3/bin:/home/rw/anaconda3/condabin:/home/rw/.local/bin:/usr/lo

    /usr/bin/ld:cannot find-lThreads的解决办法

    当遇到"/usr/bin/ld: cannot find -lThreads"这样的错误提示时,这意味着链接器找不到指定的线程库。本文将深入探讨这个问题,并提供解决方法。 1. **CMakeLists.txt的正确配置** 当使用CMake作为构建工具时,我们...

    /usr/bin/ld 找不到 -lcuda

    1,这是一个压缩文件,解压后名称应为libcuda.so,是...2,这个文件用于不具备cuda显卡的电脑在ubuntu平台配置gpgpu-sim时,绕过因为找不到lcuda而无法顺利编译的错误,将其放在/usr/local/cuda/lib64下即可解决问题。

    bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory

    主要介绍了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以参考下

    解决 cannot find -lxxx 的问题

    /usr/bin/ld: cannot find -lxxx ``` 其中 `-lxxx` 表示链接器未能找到名为 `xxx` 的库。这些库通常是动态链接库 `.so` 文件,例如: - `/usr/bin/ld: cannot find -lc` - `/usr/bin/ld: cannot find -lltdl` - `/...

    arm-linux-gnueabi-5.4.0.tar

    /usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory 解决方法: ...

    qt_uImage_root_GUI.zip

    修改:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin" 改为:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/...

    mingw64.zip

    PATH : /usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_...

    Linux bash:./xxx:无法执行二进制文件报错

    报错: 一开始以为是全权限的问题,所以让她“ls -la”一下,看看权限,但是结果是ok的,权限没问题 后来发现他是用的是32bit的ubuntu系统,而我们使用的是ubuntu64bit编译出来的程序,所以叫她换成64bit的ubuntu...

    Docker-Compose-二进制运行程序

    适用与CentOS,其他操作系统没有尝试过,将其复制到/usr/local/bin/重命名为docker-compose,并给予其运行权限即可使用。

    libstdc++6_4.7.2-5_amd64.7z

    ./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./bin/mysqld) ./bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./bin/mysqld) libstdc...

Global site tag (gtag.js) - Google Analytics